函数参数:
1.位置形参
# 定义
def func(参数1, 参数2):
pass
# 调用
func(实参1, 实参2)
"""
调用规则
位置形参,形参有多少个实参必须就有多少个,不能多也不能少。
"""
2.默认形参
# 定义
def func(参数1=数据, 参数2=数据):
pass
# 调用
func(实参1, 实参2)
func(实参1)
func(实参2=数据)
"""
调用规则
可选择实参传递给某个形参,需使用关键字实参。
"""
3.星号元组形参
# 定义
def func(*args):
pass
# 调用
func(实参1, 实参2, 实参3, 实参4 ...)
"""
调用规则
实参可以传入多个,不限量个,函数接收到的是元组。
作用:让调用者省去了创建容器这一步。
"""
4.双星号字典形参
# 定义
def func(**kwargs):
pass
# 调用
func(字典)
"""
调用规则
实参传入的是字典。
作用:让调用者省去了创建容器这一步。
"""
5.命名关键字形参
# 定义
def func(*args, p1=0):
pass
# 调用
func(1, 2, 3, p1=1)
"""
调用规则
当第一个参数是星号元组形参时,第二个数必须使用命名关键字才能“使命必达”
"""
# 写法2
def func(p1, *, p2):
pass
# 调用
func(10, p2=20)
# 作用
# 主次分明,让代码可读性更高。
1.位置实参
func(实参1, 实参2)
2.关键字实参
func(p1=实参1, p2=实参2)
3.序列实参
tuple_num = (1, 2, 3)
func(*tuple_num)
# 作用,将元组的元素传入到函数中,而不是一个元组
4.字典实参
dict_num = {"name": "tfs", "age": 20}
func(*tuple_num) # 将字典的键当作实参一个一个传入到函数
func(**tuple_num) # 将字典的键当作参数关键词,值当作实参传入到函数