在其 class 之外调用 class 方法是否违反 pep 风格规则?
Is it against pep style rules to call a class method outside of its class?
代码按预期工作 我只是想知道在定义它的 class 之外调用 class 方法是否是一种不良做法。示例如下所示
class A:
@staticmethod
def _print_some():
print("something")
@classmethod
def myFunc(cls):
cls._print_some()
class B:
def myFunc2(self):
A.myFunc()
不,这就是重点。
示例:
import datetime
...
new_date = datetime.datetime.strptime("05/12/2019", "%d/%m/%Y")
方法 strptime()
是 class datetime.datetime
上的一个 class 方法,它是 python 标准库的一部分。
或者,class 方法可以在 class 外部使用,就像在 class 内部一样,在多态性中。例如,如果一个方法没有任何特定状态,但它的执行与调用它的 class 相关联,这在运行时是未知的。
代码按预期工作 我只是想知道在定义它的 class 之外调用 class 方法是否是一种不良做法。示例如下所示
class A:
@staticmethod
def _print_some():
print("something")
@classmethod
def myFunc(cls):
cls._print_some()
class B:
def myFunc2(self):
A.myFunc()
不,这就是重点。
示例:
import datetime
...
new_date = datetime.datetime.strptime("05/12/2019", "%d/%m/%Y")
方法 strptime()
是 class datetime.datetime
上的一个 class 方法,它是 python 标准库的一部分。
或者,class 方法可以在 class 外部使用,就像在 class 内部一样,在多态性中。例如,如果一个方法没有任何特定状态,但它的执行与调用它的 class 相关联,这在运行时是未知的。