将类或方法命名为" class"的惯例是什么?在Python?

时间:2016-08-02 10:55:03

标签: python naming-conventions pep8

让我们说我在Python中有这样一个类:

class Student:
    def __init__(self, classs):
        self.classs = classs

现在,命名参数(和类属性)classs的约定是什么?我看到了classs以及klass,我想知道:它有什么约定吗?没有在PEP8中找到它。

3 个答案:

答案 0 :(得分:5)

PEP 8建议在这种情况下使用尾随下划线:class_

有关详细信息,请参阅https://www.python.org/dev/peps/pep-0008/#descriptive-naming-styles

  

single_trailing_underscore_:由惯例用于避免冲突   使用Python关键字,例如

     

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

答案 1 :(得分:1)

没有真正的约定。我见过 - 可能还有 - Buyin.AmountPlayerBuyinViewModelklass

答案 2 :(得分:1)

在我看来,来自PEP 8的class_的正确答案是尴尬的,并且可能存在问题,如其他地方对该答案的评论。 PyCharm IDE似乎更倾向于使用cls类方法,这使我的编码器快乐缩写感到恼火,而可以说或多或少可读且易懂的klass仍然是拼写错误。所以我想为这些情况抛出一个替代方案,包括类封装器等:

我使用Class,由于套管而未保留。

我知道很多人会说变量名称应该是小写的,但是对象和类型,类和函数,变量和预定义之间的界限在Python中都是模糊的。例如,如果我写的话:

NoneType = type(None)

你认为它应该被重命名为NONE_TYPE,因为它是全球性的吗? NoneType是一个类,但未使用class关键字定义。同样地,Class是一个类,尽管它也是一个变量。通过资本化,我只强调一个方面而不是另一个方面。我为表示类型的所有变量执行此操作。