def demo(red=2, black):
print(red, black)
报错non-default parameter follows default parameter
原因是python语法规定:默认参数(red)应跟随非默认参数(black),即调整位置
解决办法1:默认参数跟随非默认参数,如下
def demo(black, red=2):
print(black, red)
解决办法2:首位参数设置为星号(*),此时后面参数是带默认值还是不带默认值不用考虑位置,如下
def demo(*, red=2, black):
print(red, black)
文章讨论了在Python中遇到的语法错误‘non-defaultparameterfollowsdefaultparameter’,解释了原因——默认参数不应位于非默认参数之后。提供了两种解决方案:调整参数顺序,或使用星号(*)作为首位参数来允许默认参数的自由位置。
431

被折叠的 条评论
为什么被折叠?



