def my_len():
l1 = [1,2,3,5,6]
print(111)
print(222)
return
print(333)
print(my_len())
一、函数的定义
1.遇到return ,此函数结束,if 不在向下进行:
2.return 的返回值
1. 不写return 返回为none
2. return non ,和1 一样返回none
3. return 单个值,返回此单值。
4.return 多个值,将多个值包括在元祖中,返回给调用者.
2.1. 不写 ,return返回为none
def my_len():
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
print(1111)
print(222)
return
print(333)
rec = my_len()
print (rec)
2.2.return non ,和1 一样返回none
def my_len():
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
print(1111)
print(222)
return none
print(333)
rec = my_len()
print (rec)
2.3. return 单个值,返回此单值。
def my_len():
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
count = 0
for i in l1:
count += 1
return count
ret = my_len()
print(ret)
2.4return 多个值,将多个值包括在元祖中,返回给调用者.
def my_len():
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
count = 0
for i in l1:
count += 1
return 1,2,[123,2]
ret1,ret2,ret3 = my_len() # (1,2,[123,2])
print(ret1,ret2,ret3)
二、函数的参数
1. 从实参的角度
1. 按位传参
def max(x,y): #形式参数
z=x if x >y else y
return z
ret =max(100,200)#按位传参
print(ret)
2. 按关键字传参.
def func(x,y):#形式参数
z=x if x>y else y
return z
func(y=2,x=4)#关键字传参.
print(func(y=2,x=4))
3. 混合传参, 关键字参数永远在位置参数后面
def func (x,y,a,b):
print(x,y)
print(a,b)
func(1,2,a=2,b=3)#混合传参.
print(func(1,2,a=2,b=3))
2. 从形参的角度
1.位置参数
def my_len(x,y): #形参:形式参数
count = 0
for i in x:
count += 1
return count
ret = my_len(2,3) # 按位置传参
print(ret)
2.默认参数(在形式参数里默认添加值比如 ,sex =“男”)
def func(name,sex='男'):#默认参数
with open('name_list','a',encoding='utf-8') as f1:
f1.write('{} {}
'.format(name,sex))
while True:
name = input('请输入名字:')
if '姐' in name:
sex = input('请输入性别:')
func(name,sex) # 混合
else:
func(name)