Python 中将类或方法命名为“类”的约定是什么?

问题描述 投票:0回答:3

假设我有一个像这样的Python类:

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

现在,命名参数(和类属性)的约定是什么

classs
?我看到了
classs
以及
klass
,我想知道:是否有一些约定?在PEP8中没有找到它。

python naming-conventions pep8
3个回答
8
投票

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

class_

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

single_trailing_underscore_ :按惯例使用以避免冲突 带有 Python 关键字,例如

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


2
投票

在我看来,PEP 8 的

class_
的答案很尴尬,并且可能有问题,正如其他地方对该问题的答案所评论的那样。 PyCharm IDE 似乎更喜欢用
cls
作为类方法,这让我很恼火,因为它是一个程序员喜欢的缩写,而可以说或多或少可读和可理解的
klass
仍然是一个拼写错误。所以我想针对这些情况提出一种替代方案,包括类包装器等:

我用的是

Class
,由于外壳原因没有保留。

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

NoneType = type(None)

您是否认为它应该重命名为

NONE_TYPE
,因为它是全球性的?
NoneType
是一个类,尽管它不是使用
class
关键字定义的。

同样,

Class
是一个类,尽管它也是一个变量。通过大写,我只是强调一个方面而不是另一个方面。我对代表类型的所有变量执行此操作。


0
投票

并没有真正的约定。我见过 - 并且可能使用过 -

klass
_class
cls

© www.soinside.com 2019 - 2024. All rights reserved.