标签:
杂谈 |
介绍
python中函数传递参数的方法有四种:
f(a, b, c)f(a=1, b=2, c=3)f(*args)f(**kargs)
前两种较为常见,也比较类似其他语言中的参数传递方式;后两种的方式较为灵活,能够实现传入任意个参数。
第一种传参方式很简单,第二种传参方式允许调换参数位置进行传递。下面重点介绍后两种方式。
f(*args)
这种传参方式是将调用该函数时所传入的参数组成一个元组,赋值给args。在函数中使用参数可以通过访问元组args。下面是一个例子。
-
def f(*args): -
print(args[2]) -
f(1,2,3) # 输出3
f(**kargs)
这种传参方式最为灵活,以键值对的字典形式传入参数。在函数中可以直接通过参数名字符串称作为键,访问字典kargs。例如
-
def f(**kargs): -
print(kargs['x']) -
f(x=1,y=2,a=3) # 输出1
总结
本文介绍了python函数传递参数的四种方法,在实际使用中,通常将四种方法混合使用。例如
-
def f(a, b, x=1, *args, **kargs): -
print(a, b, x, args, kargs) -
f(1, 2, 3, 4, 5, m=6, n=7) # 输出1 2 3 (4, 5) {'m': 6, 'n': 7}
在混合使用时,需要注意按照f(a, b,
c)->f(a=1, b=2,
c=3)->f(*args)->f(**kargs)的顺序使用,如上例所示。
参考文献

加载中…