Python函数参数(Python系列15)

函数参数:

形式参数

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)  # 将字典的键当作参数关键词,值当作实参传入到函数

你可能感兴趣的:(python)