普通参数,即在调用函数时必须按照准确的顺序来进行参数传递。
默认参数,即参数含有默认值,在调用函数时可以进行参数传递,若没有进行参数传递则使用默认值,要注意,默认参数必须在普通参数的右侧(否则解释器无法解析)。
元组参数,即 *args,参数格式化存储在一个元组中,长度没有限制,必须位于普通参数和默认参数之后。
字典参数,即 **kwargs,参数格式化存储在一个字典中,必须位于参数列表的最后面。
普通参数
def fun(name):
print('Hello', name)
fun('World')#Hello World
默认参数
def fun(name, age=1):
print('Hello', name, age, '年')
fun('World') # Hello World 1 年
元组参数
def fun(name, age=1, *args):
print('Hello', name, age, '年') # Hello World 1 年
print(args) # ('I', 'love', 'it')
for i in args:
print(i)
fun('World', 1, 'I', 'love', 'it')
I
love
it
字典参数,要在最后
def fun(name, age=1, *args, **kwargs):
print('Hello', name, age, '年') # Hello World 1 年
print(args) # ('I', 'love', 'it')
for i in args:
print(i)
print(kwargs) # {'my': 'jack', 'like': 'girl'}
for m in kwargs:
print(m, ':', kwargs[m])
fun('World', 1, 'I', 'love', 'it', my='jack', like='girl')
Hello World 1 年
('I', 'love', 'it')
I
love
it
{'my': 'jack', 'like': 'girl'}
my : jack
like : girl