Reputation: 1300
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?
Upvotes: 4
Views: 3250
Reputation: 192891
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):
...
Upvotes: 5