函数出现的意义
为了避免重复造轮子 所以出现了函数 就是把某一特定的功能封装起来
def my_func(li): def为关键字 定义函数 my_func 为函数名命名和 变量命名一样
for i in li:
count+=1
return count return 把返回值赋给 函数的调用者 如果返回值没有则 函数调用者的返回值为None 如果返回值有好多个则,函数 调用返回值为多个值组成的元祖
my_func() 执行函数
函数的传参
函数的传参数分为两个大类
def my_len(li): 这里的li就是形参
for i li:
count+=1
my_len()
s = 'edeffaf'
print(my_len(s)) 这里的s就是实参
从实参的角度来看有这么几个特征
1,位置传参 一一对应 按顺序 2,关键字传参 一一对应 可以不按顺序 3,混合传参 关键字传参 永 远在位置传参后面
位置传参
def re(a,b,c):
print(a)
print(b)
print(c)
re(3,24,2)
关键字传参
def re(a,b,c):
print(a)
print(b)
print(c)
re(b=24,a= 234,c = 2)
def compare(a,b):
return a if a>b else b
print(comapare(b = 300,a = 200))
混合传参 关键字传参永远在后面
def re(a,b,c,d,e):
print(a)
print(b)
print(c)
print(d)
print(e)
re(1,9,d=23,e=24,c = 2)
从形参的角度来看有这么几个特征
1,位置传参 按顺序一一对应 2,默认传参 传参则覆盖 否则就不覆盖 默认传参永远在位置传参后面
位置传参
def re(a,b,c):
print(a)
print(b)
print(c)
re(3,24,2)
默认传参
def func(a,b=23):
print(a,b)
func(66)
def info(name,sex='男'):
with open ('name_list',encoding="utf-8",mode='a') as f1:
f1.write('{}\t{}\n'.format(name,sex))
while True:
name = input("请输入:男生以1开头").strip()
if '1' in name:
name = name[1:]
info(name)
else:
info(name,'女')