在Python中,函数定义的参数列表中,带有默认值的参数(默认参数)必须位于没有默认值的参数(非默认参数)之后。这是因为当函数被调用时,Python会按照参数在列表中的顺序将传入的值赋给相应的参数。如
  X5zJxoD00Cah 2023年12月08日 12 0

定义函数参数 non-default argument应该在前

def myfun(var1="var1", var2):

   pass

SyntaxError: non-default argument follows default argument

在Python中,函数定义的参数列表中,带有默认值的参数(默认参数)必须位于没有默认值的参数(非默认参数)之后。这是因为当函数被调用时,Python会按照参数在列表中的顺序将传入的值赋给相应的参数。如果默认参数在非默认参数之前,Python就无法确定如何将值赋给参数,从而导致SyntaxError: non-default argument follows default argument

所以,你的函数定义应该修改为:

def myfun(var2, var1="var1"):
    pass

在这个例子中,非默认参数var2在默认参数var1之前,所以不会出现语法错误。希望这个解答对你有所帮助!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   15   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   17   0   0 Python.net
X5zJxoD00Cah