为完全静态的 class 引用添加别名

Alias a fully static class's reference within itself

我们以下面这段代码为例

class StaticUtilities:

    @staticmethod
    def methodA():
        return 1

    @staticmethod
    def methodB():
        a = StaticUtilities.methodA()
        return a + 1

有什么方法可以在同一个 class 内缩短对 methodA 的调用?

如果我从另一个 class 访问它,我可以使用

import StaticUtilities as Utils

a = Utils.methodA()

如果 methodB 需要访问 class 中的其他属性(即使它们是静态方法),它不是真正的静态。您可以轻松地将其设为 class 方法,而不是:

class StaticUtilities:

    @staticmethod
    def methodA():
        return 1

    @classmethod
    def methodB(cls):
        return cls.methodA() + 1

正在使用:

>>> StaticUtilities.methodB()
2