如何在静态方法之间共享函数#python
How to share function between static methods #python
我的里面有两个静态方法class:
class my_class():
def main(self, input):
pass
@staticmethod
def static_1():
#repeated_code
pass
@staticmethod
def static_2():
#repeated_code
pass
由于他们共享一些 #repeated_code
,我想通过为 #repeated_code
.
编写一个函数 def repeat()
来减少其中的重复
因为它们在静态方法中,我无法通过 self.repeat()
.
调用 class 方法
把函数写在class外面似乎不太合理,因为函数repeat
只用在class.
里面
我该如何实现避免重复自己的提议?
我不确定这是正确的方法 - 静态方法意味着小型便利函数,如果您必须共享代码,它们并不小。
但是,如果您愿意,可以通过按名称引用 class 来调用静态方法,如下所示:
class test():
@staticmethod
def repeat():
# shared code
pass
@staticmethod
def static_1():
test.repeat()
@staticmethod
def static_2():
test.repeat()
我的里面有两个静态方法class:
class my_class():
def main(self, input):
pass
@staticmethod
def static_1():
#repeated_code
pass
@staticmethod
def static_2():
#repeated_code
pass
由于他们共享一些 #repeated_code
,我想通过为 #repeated_code
.
def repeat()
来减少其中的重复
因为它们在静态方法中,我无法通过 self.repeat()
.
把函数写在class外面似乎不太合理,因为函数repeat
只用在class.
我该如何实现避免重复自己的提议?
我不确定这是正确的方法 - 静态方法意味着小型便利函数,如果您必须共享代码,它们并不小。
但是,如果您愿意,可以通过按名称引用 class 来调用静态方法,如下所示:
class test():
@staticmethod
def repeat():
# shared code
pass
@staticmethod
def static_1():
test.repeat()
@staticmethod
def static_2():
test.repeat()