在Python中从不同类调用方法

4 投票
1 回答
3196 浏览
提问于 2025-04-16 01:42

假设我有这段代码:

class class1(object):
    def __init__(self):
        #don't worry about this 


    def parse(self, array):
        # do something with array

class class2(object):
    def __init__(self):
        #don't worry about this 


    def parse(self, array):
        # do something else with array

我想让class1能够从class2调用parse方法,反过来也可以。我知道在C++中,这个操作可以很简单地做到:

class1::parse(array)

那么在Python中,我该怎么做呢?

1 个回答

5

听起来你想要一个 静态方法

class class1(object):
    @staticmethod
    def parse(array):
        ...

注意,在这种情况下,你可以省略通常需要的 self 参数,因为 parse 这个方法并不是在某个特定的 class1 实例上调用的。

另一方面,如果你想要一个仍然与它所属的类相关联的方法,你可以写一个 类方法,在这种情况下,第一个参数实际上是类对象:

class class1(object):
    @classmethod
    def parse(cls, array):
        ...

撰写回答