类方法中是否有“我的类”的 PEP 约定?

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

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

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 标准吗?

python pep
3个回答
3
投票

约定是调用类参数

cls

参见PEP8

函数和方法参数

始终使用

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


2
投票

PEP8 说:

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

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

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

1
投票

PEP8 说

cls

函数和方法参数

始终使用

self
作为实例方法的第一个参数。

始终使用

cls
作为类方法的第一个参数。

如果函数参数的名称与保留关键字冲突,则为 通常最好附加一个尾随下划线而不是 使用缩写或拼写错误。因此

class_
优于
clss
。 (也许更好的方法是使用同义词来避免此类冲突。)

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