函数的动态参数

def func(a, c, d, e, f, b=1):
    print(a, b)
func(1)
def func(a, b, *args):  # *args 是万能(可接收任意多个)的位置参数 *在函数定义的时候叫做聚合
    print(a, b, args)
func(1, 2, 3, 4, 5, 6)

def func(a, b, *args):  # *args 是万能(可接收任意多个)的位置参数 *在函数定义的时候叫做聚合
    print(a, b, *args)  # *打散
func(1, 2, 3, 4, 5, 6)

位置参数 > 动态位置参数 > 默认参数

def func(*args, a=1, b=2):
    print(a, b, args)  # 元组(接收的位置参数)
func(12, 15, 1222, 343, 656)

def func(a, b, **kwargs):
    print(a, b, kwargs)  # 字典(接收的关键字的参数)
func(1, 2, c=1, d=2)

def func(a, b, *args, c=5, d=6):
    print(a, b, *args, c, d)
func(1, 2, 3, 4)

def func(a, b, *args, c=5, d=6, **kwargs):
    print(a, b, *args, c, d, kwargs)  # *kwargs 获取到的是字典的键
func(1, 2, 3, 4, c=8, d=10, e="yulin", f="50")

def func(*args, **kwargs):   # 万能传参
    print(args, kwargs)
func(1, 2, 3, 4, 5, 6, 7, 8, a=1, b=2, c=3)

参数的优先级:位置参数 > 动态位置参数 > 默认参数(关键字参数) > 动态关键字参数
1、万能传参:动态位置参数,动态关键字参数(最常用)
2、位置参数,动态位置参数
3、动态位置参数,关键字参数,动态关键字参数

posted @ 2020-10-22 14:06  Ylinn  阅读(121)  评论(0)    收藏  举报