开发者

Calling method from a class in a different class in python

开发者 https://www.devze.com 2023-01-08 05:27 出处:网络
Let\'s say I have this code: class class1(object): def __init__(self): #don\'t worry about this def parse(self, array):

Let's say I have this code:

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

I want to be able to call class1's parse from class2 and vice-versa. I know with c++ this can be done quite easily by doing

class1::parse(array)
开发者_开发技巧

How would I do the equivalent in python?


It sounds like you want a static method:

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

Note that in such cases you leave off the usually-required self parameter, because parse is not a function called on a particular instance of class1.

On the other hand, if you want a method which is still tied to its owner class, you can write a class method, where the first argument is actually the class object:

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

精彩评论

暂无评论...
验证码 换一张
取 消