函数的优点:
减少代码的重复率增强代码的阅读性
函数到底是什么?
函数最主要的目的:封装一个功能。
函数的格式:
def my_len():
#函数体
函数的返回值 return:
1,函数中如果遇到retrun,则直接结束函数。
2,给函数的执行者 函数名()返回值。
return None
return 单个值 原封不动的返回
return 多个值 一个元组,所有的返回值作为元组的每一个元素
函数的传参:
实参
位置参数 按照顺序,一一对应
关键字参数 可以不按照顺序,但是必须一一对应
混合参数 关键字参数一定要在位置参数后面
形参
位置参数 按照顺序,一一对应
默认参数给其传值,将原默认参数覆盖掉,不传值,不报错,使用默认值
l1 = [1,2,3] s = 'fjkdsfljsdklfjskdfdsfsdafsd' def my_len(argv): # 形式参数,形参 #函数体 count = 0 for i in argv: count += 1 return count # print(my_len(l1)) # 函数的执行者(实参) 实际的参数 print(my_len(s)) # 函数的执行者(实参) 实际的参数
默认参数的陷阱:
默认参数若是可变的数据类型,他始终使用的是一个。
def func1(x,l1=[]): #再次使用 列表不会清空 始终是一个内存地址
l1.append(x)
return l1
ret = func1(1)
print(ret,id(ret))
ret1 = func1(100)
print(ret1,id(ret1))
三元运算:
只针对于简单的if else 这样的结构,才可以使用。
if x > y:
return x
else:
return y
可以写成: x if x > y else y