可接受的变量名与关键字/标准库冲突的约定



我有一个函数,我把datetime.datetime对象作为参数。假设我还想要一个参数命名为break或类似的东西。我显然不能使用break作为参数而不抛出SyntaxError

为了避免与标准Python库名或关键字冲突,最被接受的重命名约定是什么?

按照样式指南:

  • single_trailing_underscore_:按照惯例使用,以避免与Python关键字冲突,例如

    Tkinter.Toplevel(master, class_='ClassName')
    

具体来说,对于参数:

如果函数参数的名称与保留关键字冲突,则为通常情况下,最好在末尾添加一个下划线,而不是使用缩写或拼写错误。因此class_是更好的比clss。(也许更好的方法是使用同义词。)

和属性名:

  • 如果您的公共属性名称与保留关键字冲突,请在属性名称后面添加单个下划线。这是比缩写或错误的拼写更可取。(然而,尽管有此规则,cls是任何的首选拼写已知为类的变量或参数,尤其是类方法的第一个参数)

最新更新