【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