如何在静态方法之间共享函数#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()