函数的初识
- 函数:以功能(完成一件事)为导向
- 一个函数就是一个功能,随调随用
- 减少代码的重复性
- 增强代码可读性
函数的结构与调用
-
结构: def 关键字,定义函数
函数名:与变量设置相同,具有可描述性例如:len,login之类见名知意
函数体:缩进,函数中尽量不要出现print
-
调用:遇到 函数名() 才会执行
# 定义函数 # 模仿探探 这里只为测试,实际运用中,最好不要出现print def meet(): print('打开软件') print('左滑一下') print('右滑一下') print('找美女') print('悄悄话...') print('约...') # 调用刚刚定义好的meet函数,写一次执行一次 meet()
函数的返回值
-
return就是将数据返回给函数的执行者,调用者,可以返回多个值
-
如果return后啥也不写,返回None
-
在函数中遇到return直接结束函数
-
如果有多个返回值将会以元组的形式返回给调用者
# 函数的返回值,我们把上面的代码拿下来 # return: 在函数中遇到return直接结束函数 def meet(): print('打开软件') print('左滑一下') print('右滑一下') print('找美女') print('悄悄话...') print('约...') return '得到妹子一枚' # 如果只是单纯的执行一次函数,并不会得到return里的内容 meet() print('============ 我是华丽的分割线 ============') # 如果进行赋值操作,打印变量,这个变量就得到了return的内容, # return就是将数据返回给函数的执行者,调用者 ret = meet() print(ret)
def meet(): print('打开软件') print('左滑一下') print('右滑一下') print('找美女') print('悄悄话...') print('约...') return '得到妹子一枚', 123, [22, 33] # 如果有多个返回值将会以元组的形式返回给调用者 print(meet()) # 最后一行 ('得到妹子一枚', 123, [22, 33]) # 还可以拆包 ret, ret1, ret2 = meet() print(ret, ret1, ret2)
函数的参数
-
函数的传参:让函数封装的这个功能,盘活,,,实参,形参
-
实参
-
位置参数:一个萝卜一个坑,从左至右,一一对应。
def meet(sex, age, hobbi): # 函数的定义:接收的参数形式参数 print('打开软件') # 筛选 print('进行筛选:性别:%s,年龄:%s, 爱好:%s' % (sex, age, hobbi)) print('左滑一下') print('右滑一下') print('找美女') print('悄悄话...') print('约...') return '得到妹子一枚', 123, [22, 33] meet('女', 25, '羽毛球') # 函数的执行传的参数:实际参数
# 写一个函数只接收两个int的参数,函数的功能是将较大的数返回 def num_max(a, b): if a > b: return a else: return b max1 = num_max(12,115) print(max1)
# python的三元运算符 def num_max(a, b): c = a if a > b else b return c max1 = num_max(12,115) print(max1) # 在简化一下 def num_max(a, b): return a if a > b else b max1 = num_max(12,115) print(max1)
-
关键字参数:
def meet(sex, age, hobbi): print('打开软件') # 筛选 print('进行筛选:性别:%s,年龄:%s, 爱好:%s' % (sex, age, hobbi)) print('左滑一下') print('右滑一下') print('找美女') print('悄悄话...') print('约...') return '得到妹子一枚', 123, [22, 33] print(meet(age=30, sex='女', hobbi='羽毛球')) # 关键字参数
-
混合参数:
位置参数一定要在关键字参数前面
-
-
形参
-
位置参数,与实参角度的位置参数是一种。
# 写一个函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者 def two_len(li): if len(li) > 2: return li[:2] else: return li print(two_len([1,2,3,4,5,6,7,8])) # 简化成三元运算 def two_len(li): return li[:2] if len(li) > 2 else li print(two_len([1,2,3,4,5,6,7,8])) # 再简化 def two_len(li): return li[:2] print(two_len([1,2,3,4,5,6,7,8])) # 再来 def two_len(li): return li[:2] print(two_len([1, 2, 3, 4, 5, 6, 7, 8]))
-
-
默认值参数
-
def meet(age, hobbi, sex='女'):
形参这里,sex='女'就是默认值,一定要放到关键字参数后面
默认参数的意义就是,普遍经常使用
-
-