Если вы хотите вызвать метод без создания объекта класса, вам нужно создать статический метод if.Используйте для этого декоратор staticmethod .Но имейте в виду, что статические методы не принимают параметр self
, поэтому вы не можете использовать self!
class First:
@staticmethod
def some_method():
print 'First.some_method()'
class Second:
def __init__(self):
First.some_method()
s = Second()
В опубликованном примере у вас уже есть объектFirst
, так как вы находитесь в First.main()
.Таким образом, вы можете передать класс Первого self
на Second
:
class First:
def main(self):
second = Second(self) # we pass the current object...
def do_something(self):
print 'First.do_something()'
class Second:
def __init__(self, first): # and recieve it as first
first.do_something()