def func(a, b):
print(a)
print(b)
调用方式一
In [19]: func(1, 2) # 直接传值
1
2
=========================
a = 1
b = 2
调用方式二
In [18]: func(a, b) # 传递变量
1
2
========================
调用方式三
In [20]: func(b=b, a=a)
1
2
========================
调用方式四
In [22]: func(*(1, 2))
1
2
========================
调用方式五
In [23]: func(**dict(a=1, b=2))
1
2
def func(a, b=10):
print(a)
print(b)
In [13]: func(1, 2) # 不使用默认值
1
2
In [14]: func(1) # 使用默认值
1
10
def func(a, b, *args):
print(a)
print(b)
print(args)
In [25]: func(1, 2, 3, 4, 5)
1
2
(3, 4, 5) # 将除a, b位置之外的参数打包为元组
def func(a, b, *args, c): # 关键字参数之前需要使用 ‘*‘ 与位置参数隔开
print(a)
print(b)
print(args)
print(c)
In [27]: func(1, 2, 3, 4, 5, c=‘c‘)
1
2
(3, 4, 5)
c
def func(a, b, *args, c, d=None, **kwargs):
print(a)
print(b)
print(args)
print(c)
print(d)
print(kwargs)
In [38]: func(1, 2, 3, 4, 5, c=‘c‘, **{‘f‘: ‘f‘, ‘e‘: ‘e‘})
1
2
(3, 4, 5)
c
None
{‘f‘: ‘f‘, ‘e‘: ‘e‘}
原文:https://www.cnblogs.com/youj/p/14865127.html