一、个数可变的位置参数

       无法确定参数的个数,使用*定义个数可变的位置形参,结果为一个元组

def func1(*argu):
    """
    个数可变的位置参数:无法确定参数的个数,使用*定义个数可变的位置形参,结果为一个元组
    """
    print(argu)

func1(1)
func1(1,2)
func1(1,2,3)

打印结果:
(1,)
(1, 2)
(1, 2, 3)

二、个数可变的关键字参数(理解为字典结构)

       无法确定参数的个数,使用**定义个数可变的关键字形参,结果为一个字典

def func2(**argu):
    """
    个数可变的关键字参数(理解为字典结构):无法确定参数的个数,使用**定义个数可变的关键字形参,结果为一个字典
    例如:func2(a=1,b=2)
    结果:{'a': 1, 'b': 2}
    """
    print(argu)

func2(a=1)
func2(a=1,b=2)

打印结果:
{'a': 1}
{'a': 1, 'b': 2}

三、既有个数可变的位置参数和关键字参数

      无法确定参数的个数,使用*和**定义个数可变的位置和关键字形参,结果分别为元组和字典。

          注意:位置参数必须在关键字参数之前。

def func3(*argu1,**argu2):
    """
    既有个数可变的位置参数和关键字参数:无法确定参数的个数,使用*和**定义个数可变的位置和关键字形参,结果分别为元组和字典.
    注意:位置参数必须在关键字参数之前.
    例如:func3(1,2,a=1,b=2)
    结果:(1, 2) {'a': 1, 'b': 2}
    """
    print(argu1,argu2)

func3(1,2)
func3(1,2,a=1,b=2)

打印结果:
(1, 2) {}
(1, 2) {'a': 1, 'b': 2}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐