函数
1.函数:对代码块功能的封装和定义
2.函数的定义:函数名、函数体以及函数的调用。
def 函数名():
函数体
def yue():
print('拿出手机')
print('打开陌陌')
print('找到一个人')
print('约吗?')
print('可以')
yue()
# 拿出手机
打开陌陌
找到一个人
约吗?
可以
3.函数的返回:使用return来返回结果
1.函数中遇到retrn,此函数结束,不再继续执行。
def yue():
print('拿出手机')
print('打开陌陌')
return
print('找到一个人')
print('约吗?')
print('可以')
yue()
# 拿出手机
打开陌陌
2.给return一个返回值
def yue():
print('拿出手机')
print('打开陌陌')
print('找到一个人')
print('约吗?')
print('可以')
return'一起去吃饭'
r = yue()
print(r)
# 拿出手机
打开陌陌
找到一个人
约吗?
可以
一起去吃饭
2.1 return的返回值可以是多个结果
def yue():
print('拿出手机')
print('打开陌陌')
print('找到一个人')
print('约吗?')
print('可以')
return'一起去吃饭','看电影','散散步'
r = yue()
print(r)
# 拿出手机
打开陌陌
找到一个人
约吗?
可以
('一起去吃饭','看电影','散散步') #多个值返回的是元组
总结:return:
1.遇到return,函数结束,后面的将不再执行。
2.return 的返回值:
如果return后面什么都不给或者不写,返回的就是None
如果return后面写了一个值,则返回一个值
如果return后面写了多个值,则返回一个元组(所给值),可直接结构成多个变量
4.函数的参数:函数在调用的时候指定的一个变量的值,就是参数
1.形参、实参
def yue(形参列表 tools):
print('拿出手机')
print('打开%s'% tools)
print('找到一个人')
print('约吗?')
print('可以')
return'一起去吃饭'
yue('微信')
yue('陌陌')
yue('探探')
# 拿出手机
打开微信
找到一个人
约吗?
可以
拿出手机
打开陌陌
找到一个人
约吗?
可以
拿出手机
打开探探
找到一个人
约吗?
可以
注:实参会把调用者所给的值(传输过程叫做:传参)给形参,然后形参会自动加入到调用者预留的位置。
实参有几个,形参就会赋值相同的次数,函数也会执行相同的次数。
2.位置参数
def yue(chat,addyess,age): # 形参
print('拿出手机')
print('打开'+chat)
print('找到一个' + addyes + '附近' + age + '的妹子')
print('约吗?')
print('可以')
return'一起去吃饭'
yue('微信','北京',20) # 实参
# 拿出手机
打开微信
找到一个北京附近20的妹子
约吗?
可以
注:位置参数会按照我们所给的实参及位置顺序传参给形参,
形参会按照实参所给的位置把相应内容加到相应位置。
3.关键字参数(只在实参使用)
def yue(chat,addyess,age):
print('拿出手机')
print('打开'+chat)
print('找到一个' + addyes + '附近' + age + '的妹子')
print('约吗?')
print('可以')
return'一起去吃饭'
yue(age='20',chat='微信',adyes='北京')
# 拿出手机
打开微信
找到一个北京附近20的妹子
约吗?
可以
注:实参给定所给内容的具体的位置,不需要再对号入座。
4.混合参数
def yue(chat,addyess,age):
print('拿出手机')
print('打开'+chat)
print('找到一个' + addyes + '附近' + age + '的妹子')
print('约吗?')
print('可以')
return'一起去吃饭'
yue('微信'age='20',,adyes='北京') # 正确
yue(age='20','微信',adyes='北京') # 错误
注:在使用混合参数的时候,关键字参数必须在位置参数的后面,
位置参数的实参、形参位置必须对应。
5.默认值参数(只在形参使用)
def xinxi(name,age,sex='男'):
print(name,age,sex)
xinxi('张三',18)
xinxi('王二',20)
xinxi('李四',21)
# 张三 18 男
王二 20 男
李四 21 男
注:必须先声明位置参数,才能声明默认值参数。
形参设置的默认值,实参可以没有(已经有的信息不会默认添加)