0

例如,我在一个类中有两个类方法,一个调用另一个。

class MyClass(object):

    @classmethod
    def foo(insert_name_here):
        print "foo."

    @classmethod
    def bar(insert_name_here):
        insert_name_here.foo()

c显然太短了。kind像, myclass,之类的有趣词such出现在我的脑海中,但归根结底,一致性是赢家。

什么是正确的约定?或者更一般地说,找到此类的权威来源是什么?有 PEP 吗?

4

3 回答 3

3

约定是调用类参数cls

PEP8

函数和方法参数

始终self用于实例方法的第一个参数。
始终cls用于类方法的第一个参数。

于 2013-08-28T13:21:40.923 回答
2

PEP8说:

始终使用 cls 作为类方法的第一个参数。

class MyClass(object):
    @classmethod
    def foo(cls):
        print "foo."

    @classmethod
    def bar(cls):
        cls.foo()
于 2013-08-28T13:21:52.230 回答
1

PEP8 说cls

函数和方法参数

始终self用于实例方法的第一个参数。

始终cls用于类方法的第一个参数。

如果函数参数的名称与保留关键字发生冲突,通常最好在结尾附加一个下划线,而不是使用缩写或拼写错误。因此class_优于 clss。(也许更好的是通过使用同义词来避免这种冲突。)

于 2013-08-28T13:22:39.577 回答