在其 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 相关联,这在运行时是未知的。