0
点赞
收藏
分享

微信扫一扫

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

无愠色 2022-03-31 阅读 52

问题描述

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

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

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


解释:

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

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

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

举报

相关推荐

0 条评论