python 学习 D9 函数的初识 函数的返回值 参数

函数的初识
l1 = [1, 2, 3, 1, 6, 9, 10]
# count = 0
# for i in l1:
#     count += 1
# print(count)
# 重复代码较多。
# 可读性差。
# print(len(l1))
 
 

def关键字 空格 函数名(与变量设置相同): 英文的冒号
函数体
执行函数 :函数名+()
函数是以功能为导向的,
def login():
pass
def register():
pass
# def my_len():
#     l1 = [1, 2, 3, 1, 6, 9, 10]
#     count = 0
#     for i in l1:
#         count += 1
#
# my_len()




函数的返回值。

return: 1,函数中遇到return 结束函数,下面代码不执行。
2,将函数里面的值返回给函数的执行者(调用者)。
第一种情况:
只有return,返回None
# def login():
#     a = 2
#     b = 3
#     print(111)
#     print(a,b)
#     return
#
#
# print(login())
 
 

第二种情况:
return None

第三种情况:
return 单个值(返回的值与单个值的类型相同)
def login():
    a = 2
    b = 3
    # return a
    return [1, 2]
print(login(),type(login()))
ret = login()
 
 

第四种情况:
return 多个值 以元组的形式返回给函数的调用者。
# def login():
#     a = 2
#     b = 3
#     return 1, 'alex', [1, 2], {'name': '老男孩'}
#
# ret = login()
# print(ret)
 
 
'''
什么是None?
所有的空集合,空列表,空字典.... --->None

'''
# def my_len():
#     l1 = [1, 2, 3, 1, 6, 9, 100]
#     count = 0
#     for i in l1:
#         count += 1
#     return count
# print(my_len())
 
 
 

函数的参数。
# def my_len(a):  #  形式参数,形参
#     count = 0
#     for i in a:
#         count += 1
#     return count
# l1 = [1, 2, 3, 1, 6, 9, 100]
# print(my_len(l1))  # 实际参数,实参
 
 


# 实参角度

# 三元运算
# x = 100
# y = 99
# if x > y:
#     print(x)
# else:
#     print(y) 


# 三元  c, x, y


# c = x if x > y else y
# print(c)
 
 


位置参数
一一对应,实参形参数量相等
# def tes(a, b, c):
#     print(111)
#     print(a, b, c)
#
# tes(22, 'alex', [11, 22, 33])
 
 


关键字参数
一一对应,实参形参数量相等,实参顺序可变
# def func(x, y,):
#     print(x, y)
#
# func(y=3333, x=4)

混合参数 (位置参数,关键字参数)
关键字参数必须在位置参数后面
# def func1(x, y, z):
#     print(x, y, z)

# func1(111, 222, z=555)  # 混合传参 位置参数必须再前面
# func1(111, y=555, 222)  # 混合传参 位置参数必须再前面
 
 


# 形参角度

位置参数
一一对应,实参形参数量相等
同 实参的位置参数


默认参数
默认参数必须放在形参的位置参数后面
默认参数不传值则为默认值,传值则覆盖默认值。

def input_information(name, sex=''):
    with open('information',encoding='utf-8', mode='a') as f1:
        f1.write('{}\t{}\n'.format(name, sex))

while True:
msg = input('请输入用户的姓名,性别\Q或者q退出').strip()
if msg.upper() == 'Q':break
if ',' in msg:
name1, sex1 = msg.split(',')
input_information(name1, sex1)
else:
input_information(msg)
 
 

动态参数

猜你喜欢

转载自www.cnblogs.com/HoneyTYX/p/9015954.html