2015-06-30 4 views
1

У меня есть 2 файла. Первый файл:Доступ к экземпляру класса из предыдущего класса

import file1 

Class MyTest: 
    . 
    . 
    def Test(self): 
      my_config = file1.Check_my_config() 

    def add_something(self): 
      do something 
    . 
    . 

Файл file1 выглядит следующим образом:

Class Check_my_config(object): 

    def __init__(self, var1, var2): 
     do_something 
     MyTest.self.add_something() 

Как получить доступ к экземпляру класса предыдущего?

ответ

1

Передайте это как аргумент.

import file1 

Class MyTest: 
    . 
    . 
    def Test(self): 
      # pass two required arguments e.g. a and b 
      # (as defined by Check_my_config's __init__) and self 
      my_config = file1.Check_my_config(a, b, self) 

    def add_something(self): 
      do something 
    . 
    . 

Class Check_my_config(object): 

    def __init__(self, var1, var2, mytest): # add a mytest parameter 
     do_something 
     mytest.add_something() # call a method bound to the passed mytest object 
+0

Благодаря она работала, но у меня есть вопрос, он чувствителен к регистру? def __init __ (self, var1, var2, MyTest): # добавить параметр mytest do_something MyTest.add_something() # вызывать метод, связанный с переданным объектом mytest – Empario

+0

Да, код Python чувствителен к регистру. 'MyTest' отличается от' mytest', поэтому следуйте [PEP-8] (https://www.python.org/dev/peps/pep-0008/), чтобы избежать путаницы. – TigerhawkT3

Смежные вопросы