【Python】函数中首位参数用星号(*)表示什么意思

无愠色

关注

阅读 53

2022-03-31

问题描述

我们经常能看到这样的Python看到如下的函数

def demo(*, foo=2, bar):
    print(foo, bar)

那么请问函数中的*表示什么意思呢?


解释:

如果在函数首位添加星号(*)那么,后面参数不管是带默认值还是不带默认值不用考虑位置,如果你写成这样

def demo(foo=2, bar):
    print(foo, bar)

这是不允许的,带默认值参数应该还走最后这是Python约定的规则。
所以,加上*之后,默认参数与非默认参数位置不强制

精彩评论(0)

0 0 举报