09 初识函数
什么是函数
函数是对功能或者动作的封装
函数的语法和定义
define 定义
def 函数名():
函数体
调用:
函数名()
def yue():
# 描述你的动作
print("拿出手机")
print('打开陌陌')
print("找一个心仪的小姐姐")
print('有没有时间啊, 聊聊人生')
print("一起出来吃饭唱歌, 看电影")
#调用函数
yue()
print("上班")
print("上班")
print("上班")
yue()
print(yue) # <function yue at 0x00000000005B2E18>
结果:拿出手机
打开陌陌
找一个心仪的小姐姐
有没有时间啊, 聊聊人生
一起出来吃饭唱歌, 看电影
上班
上班
上班
拿出手机
打开陌陌
找一个心仪的小姐姐
有没有时间啊, 聊聊人生
一起出来吃饭唱歌, 看电影
关于函数的返回值
结论: 1.遇到return.次函数结束,函数后面的东西不会再执行
2.teturn 返回值
def yue():
# 描述你的动作
print("拿出手机")
print('打开陌陌')
print("找一个心仪的小姐姐")
print('有没有时间啊, 聊聊人生')
print("一起出来吃饭唱歌, 看电影")
return "小姐姐" # 只能返回小姐姐, 其他的都不会执行
return "大妈"
return "流浪汉"
# 得到一个结果
# return "小姐姐", "大妈", "流浪汉" # 同时返回多个结果, 返回的是元组
ret = yue() # 这里调用的函数. 返回值就返回给这里
关于返回值:
1.函数可以有返回值,也可以没有返回值
2.函数如果没有返回值,在函数最后执行完毕的时候会默认返回None
3.在函数中只写了return,但没有返回值,会默认的返回None
4.在函数中只写了return,return None 返回值是None
5.当函数写了return 值1, 值2, 值3.... 返回多个结果. 多个结果打包成tuple元组
6.当程序执行到return, 函数结束执行
练习:写一个函数, 在函数内部. 要求用户输入两个数. 返回大的那个数
def func(): # fn func
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
# if a > b:
# return a
# else:
# return b
# 三目运算
c = a if a > b else b # c装的是a, b中大数
# 值1 if 条件 else 值2
return c
ret = func()
print(ret)
函数的参数(部分)
()小括号表示调用
在括号内写的东西叫参数
在函数声明的位置,写的参数叫形参
在函数调用的地方,写的参数叫实参
把实参传给形参的过程叫做传参
在函数调用的时候,必须保证所有的形参都有值
def yue(tools): # 形参
# 描述你的动作
print("拿出手机")
print('打开%s' % tools)
print("找一个心仪的小姐姐")
print('有没有时间啊, 聊聊人生')
print("一起出来吃饭唱歌, 看电影")
yue("微信") # 实参
yue("探探") # 实参
yue("陌陌") # 实参
关于实参
1.位置参数,按照位置给形参传递信息
2.关键字参数,按照形参声明的变量名进行传递
3.混合参数,位置+ 关键字(规定) 关键字必须在位置参数的后面
关于形参
1.位置参数,按照位置声明的变量
2.默认值参数 默认值是在不给传参数的情况下启用
3.当默认值和位置参数同事存在的时候, 规定:默认值必须放到最后
所有带等号的,都上后面去
def chi(zhushi, fushi, tang, tiandian):
print("主食:%s" % zhushi)
print("副食:%s" % fushi)
print("汤:%s" % tang)
print("甜点:%s" % tiandian)
chi("锅包肉", "胡辣汤", "哈根达斯冰激凌火锅","大米饭")
chi(fushi="大米饭", zhushi="锅包肉", tiandian="哈根达斯", tang="酸辣汤")
chi("大米饭", "锅包肉", tiandian="哈根达斯", "酸辣汤") # 错误的. 关键字必须在位置参数后面
chi("大米饭", "锅包肉", "酸辣汤", tiandian="哈根达斯")
chi("大米饭", "锅包肉", tiandian="哈根达斯", tang="酸辣汤")
open() # 调用函数