2022年 11月 5日

Python函数中的不定参数

不定参数两种形式

*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