python中很有趣的两个小东西,先介绍:
1、*args保存多余变量,保存方式为元组。
2、**args保存带有变量名的多余变量,保存方式为字典。

上代码…

#args的使用
def fun(x, y, *args):
    print("x=", x)
    print("y=", y)
    print("args=", args)


fun(1, 2, 3, 4, 5, 6, 7)

输出为:

x= 1
y= 2
args= (3, 4, 5, 6, 7)
# **args的使用
def fun(x, y, **args):
    print("x=", x)
    print("y=", y)
    print("args=", args)


fun(1, 2, c=3, d=4, e=5, f=6, g=7)

输出为:

x= 1
y= 2
args= {'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7}
# 共同使用
def fun(x, y, *args, **kwargs):
    print("x=", x)
    print("y=", y)
    print("args=", args)
    print("kwargs=", kwargs)


fun(1, 2, 3, 4, e=5, f=6, g=7)

输出为:

x= 1
y= 2
args= (3, 4)
kwargs= {'e': 5, 'f': 6, 'g': 7}

可以看出 *args和 **args都具有储存多余变量的功能,区别在于 *args储存没有变量名的值,存储方式为元组;而 **args存储带有变量名的值,存储方式为字典。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐