初识函数
一.函数
函数是对功能的封装
语法:
def 函数名(形参列表):
函数体(代码块,return) #函数体:就是函数被执行之后要执行的代码
调用:
函数名(实参列表)
定义一个事情或者功能,等到需要的时候直接去用就好了,那么这里定义的东西就是一个函数
二.返回值
return:在函数执行的时候,如果遇到return,直接返回
1.如果函数什么都不写,不写return,没有返回值,得到的是None
2.在函数中间或者末尾写return,返回的是None
3.在函数中写return值,返回一个值
4.在函数中可以返回多个返回值,return 值1,值2,值3...,接收的是元组
(1).函数中遇到return,此函数结束,不再执行.
def yue():
print("约你")
print("约我")
print("约他")
return
print("约谁呀") # 这句话不会被执行
yue()
(2).给函数的调用者一个访问结果
def yue():
print("约你")
print("约我")
print("约他")
return "美女一位"
girl = yue()
print(girl) # 美女一位
(3).函数的返回值可以有多个结果
def yue():
print("约你")
print("约我")
print("约他")
return "美女一位","萝莉一位"
girl = yue()
print(type(girl)) # tuple
三.参数
语法:
def 函数名(参数列表)
函数体
函数执行的时候给函数传递信息
def yue(chat):
print("拿出手机")
print("打开"+chat)
print("找个漂亮的妹子")
print("约不约")
yue("陌陌")
yue("微信")
yue("探探")
结果:
拿出⼿机
打开陌陌
找个漂亮的妹子
约不约
拿出⼿机
打开微信
找个漂亮的妹子
约不约
拿出⼿机
打开探探
找个漂亮的妹子
约不约
*形参:函数声明的位置的变量
*实参:函数调用的时候给的具体的值
传参:把实参交给形参的过程
def yue(chat): # chat 形参
print("拿出手机")
print("打开"+chat)
print("找个漂亮的妹子")
print("约不约")
yue("陌陌") # 实参
len("字符串") # "字符串"在这里就是实参
print("麻花藤") # "麻花藤"就是实参
1.实参:
(1).位置参数,按照形参的参数位置,给形参传值
def yue(chat, address, age): # 形参
print("拿出手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹子")
print("约不约")
yue("微信", "北京", 18) # 实参
结果:
拿出手机
打开微信
找个北京附近漂亮的18岁妹子
约不约
(2).关键字参数,按照形参的名字给形参传值
def yue(chat, address, age):
print("拿出手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹子")
print("约不约")
yue(chat="微信", age=18, address="北京") # 关键字参数.
结果:
拿出手机
打开微信
找个北京附近漂亮的18岁妹子
约不
(3).混合参数,即用位置参数,也用关键参数
yue("微信", age=18, address="上海") # 正确.第一个位置赋值给chat,后面的参数开始 指定关键字.
yue(age="18", "微信", address="广州") # 错误, 最开始使用了关键字参数,那么后面的微信的位置就串了,容易出现混乱
注意:在使用混合参数的时候,关键字参数必须在位置参数的后面
2.形参:
(1).位置参数:按照位置来赋值
def yue(chat, address, age):
print("拿出手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹子")
print("约不约")
(2).默认位置参数,先位置后默认值:在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以给出具体的值,也可以不给值,使用默认值.
def stu_info(name, age, sex='男'):
print("录入学生信息")
print(name, age, sex)
print("录入完毕")
stu_info("张三", 18)
注意:必须先声明位置参数,才能声明默认值参数