不定参数两种形式
*args
: 表示匿名参数,数量不定(args名称随便起,这里只是按惯用名称)
例如:
def myprint(*args):
for arg in args: # 这里的args类型为tuple(元组),同理,如果把一个tuple里的元素按顺序传递给另一个函数作为参数时,只需要在元组前面加上*即可拆包
print(arg)
# 调用
myprint(1, 2.0, 'Hello Python', True)
- 1
- 2
- 3
- 4
- 5
- 6
**kwargs
: 表示具名参数,传入参数时需要指定key= value(kwargs名称也可以用别的,这里也是保持惯用名称,表示key word args)
例如:
def to_json(**kwargs):
return json.dumps(kwargs) # 这里的kwargs类型其实已经是dict了,可以当成普通的字典参数来使用,同理如果要把一个dict的内容作为某个函数的具名参数,在传递给其他函数是,在dict参数前面加上**即可
print(to_json(a=1, b=2.0, c=False, d='hello') # {"a":1, "b":2.0, "c": false, "d":"hello"}
- 1
- 2
- 3
- 4