- 1.默认参数:默认参数必须指向不变对象!
- 2.可变参数:可变参数允许你传入 0 个或任意 个参数,这些可变参数在函数调用时自动组装为一个
tuple
def calc(numbers):
sum = 0
for n in numbers:
sum += n*n
return sum
print(calc([i for i in range(1,6)]))
"""
def calc(*numbers):
sum = 0
for n in numbers:
sum += n*n
return sum
print(calc(1,2,3,4,5))
"""
- 3.关键字参数:关键字参数允许你传入 0 个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个 dict,它可以扩展函数的功能。
def person(name,age,**kw):
print("name:",name,"age:",age,"others:",kw)
person("Micthel","20",city="Beijing",gender='M', job='Engineer')
- 4.参数组合:参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。
def func(a, b, c=0, *args, **kw):
print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
func(1,2,3,(1,2,3),name="Mitchel")
Summary
- *args 是可变参数, args 接收的是一个 tuple。
- **kw 是关键字参数, kw 接收的是一个 dict。
网友评论