Knight_day9
- 函数初识
def 函数名():
执行:函数名()
优点:1.减少代码重复率
2.增强代码阅读性
最主要的目的:封装一个功能
- 函数返回值:
return:
1.函数中如果遇到return,则直接结束函数。
2.给函数的执行者返回值。执行者:函数名() 注意要加括号
return --> None
return 单个值 --> 原封不动返回
return 多个值 --> 一个元组,每个值是元组的一个元素
工作中,函数中尽量不要出现print
- 函数参数
函数的传参:
实参:函数执行者实际的参数
位置参数:一一对应
关键字参数:使用“形参 = ...”的格式,不用按顺序
混合参数:关键字参数一定要在位置参数后
形参:形式参数
位置参数:一一对应
默认值参数:形参 = ... 有实参用实参,没有实参用默认值
三元运算:只针对于简单的if else结构才可用
ret = x if x > y else y
默认参数陷阱:
默认参数若是可变数据类型,使用的始终是一个。
def func1(x, l1=[]): l1.append(x) return l1 ret = func1(1) print(ret, id(ret)) ret1 = func1(100) print(ret1, id(ret1)) ''' [1] 2097018805768 [1, 100] 2097018805768 '''
使用默认参数录入人员姓名和性别的练习:
def func1(n1, s1='男'): with open('人员名单', encoding='utf-8', mode='a') as f: f.write('{}|{}\n'.format(n1, s1)) while 1: n_s = input('请输入姓名,性别').strip().replace(',', ',').split(',') if len(n_s) == 1: if n_s[0].upper() == 'Q': break else: func1(n_s[0]) if len(n_s) == 2: func1(n_s[0].strip(), n_s[1].strip())

浙公网安备 33010602011771号