为完全静态的 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
我们以下面这段代码为例
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