【python】函數參數前加*星號的含義


描述

加一個*星號:表示參數數量不確定,將傳入的參數存儲為元組。

加兩個*星號:表示參數數量不確定且參數類型是關鍵字參數,將傳入的參數存儲為字典。

示例

加一個*星號

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM