一、函数
函数就是封装一个功能。
def my_len():
#def 关键字 定义一个函数
#my_len 函数名书写规则与变量一样。
#def 与函数名中间一个空格。
#函数名():加上冒号
#函数体
count = 0
for j in l1:
count += 1
print(count)
my_len()
函数的执行:函数名 + ()
函数的返回值
写函数,不要再函数中写print()
return
1,在函数中,遇到return结束函数。
2,将值返回给函数的调用者。
无 return 返回NONE
return None 返回NONE
return 1个值 该值是什么,就直接返回给函数的调用者,函数名()
return 多个值 将多个值放到一个元组里,返回给函数的调用者。
def fun():
print(111)
print(222)
print(333)
return 2,3,4
a,b,c = fun() #将函数名赋值给a,b,c
print(a,b,c)
二、函数的传参
形参和实参
def my_len(l): # 形式参数 形参
print(l)
count = 0
for j in l:
count += 1
return count
a = 'fdsafdsafdsagfsadf'
print(my_len(a)) # 实际参数 ,实参
print(my_len([1,2,3]))
实参角度:
1,位置传参。按顺序,一一对应。
2,关键字传参,不按顺序,一一对应。
3,混合传参,关键字参数永远在位置参数后面。
形参角度:
1,位置传参。按顺序,一一对应。
1,默认参数。传参则覆盖,不传则默认,默认参数永远在位置参数的后面。
默认参数:
def func(a,b=666):
print(a,b)
func(1,2) # 1 2
func(1,777) # 1 777
func(1,2) # 1 2
func(1) # 1 666
传参则覆盖,不传则默认,默认参数永远在位置参数的后面。
def func(a,b,c): print(a) print(b) print(c) func('fdsafdas',3,4)
写一个函数,功能比大小,
def max(a,b):
if a > b :
return a
else:
return b
print(max(1,9)) #9
优化后:
三元运算:
def max_min(a,b):
return a if a > b else b
print(max_min(300,200))
冰冰老师学生姓名录入系统:(分男女)
def Infor_entry(username,sex='男'):
with open('name_list',encoding='utf-8',mode='a') as f1:
f1.write('{} {}
'.format(username,sex))
while True:
username = input('请输入姓名(男生以1开头)').strip()
if '1' in username:
username = username[1:]
Infor_entry(username)
else:
Infor_entry(username,'女')