
  
 
 
  
 
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 = 0for i in x:count += 1return 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('{}  {}\n'.format(name,sex))
while True:
    name = input('请输入名字:')
    if '姐' in name:
        sex = input('请输入性别:')
        func(name,sex) #  混合
    else:
        func(name)