描述
加一個*星號:表示參數數量不確定,將傳入的參數存儲為元組。
加兩個*星號:表示參數數量不確定且參數類型是關鍵字參數,將傳入的參數存儲為字典。
示例
加一個*星號:
def main(*args):
print(args)
main(1, 2)
'''out (1, 2) '''
加兩個*星號:
def main(**kwargs):
print(kwargs)
main(a=1, b=2)
'''out {'a': 1, 'b': 2} '''
拓展
此外,還有一種常見的*星號用法:
def main(arg1, *, arg2):
print(arg1, arg2)
main(1, arg2=2)
這里的*表示占位符,星號前面的參數可以指定參數名賦值,也可以直接賦值;但星號后面的參數是關鍵字參數,必須指定參數名賦值。
參考
https://www.python.org/dev/peps/pep-0612/#using-list-variadics-and-map-variadics