我从JavaScript进入Python并遇到了一个我无法解决的问题。
我有一个像这样的主控制器:
from TVcontroller import TVController
class MainController(object):
def __init__(self):
self.TVControllers = []
self.TVControllers.append(TVController("VardagsrumsTV"))
self.TVControllers.append(TVController("Köks TV"))
print("Welcome to the TV-simulator")
...
它从:
创建新的TVController
个实例
from TV import TV
class TVController(object):
def __init__(self, name):
self.TV = TV(name)
def exit(self):
#I WANT TO INVOKE A FUNCTION ON MY PARENT!
...
我希望TVController
能够告诉MainController
何时退出。
在JavaScript中,我只想写一些"on,event, do-this"
函数。如何在Python中处理它?</ p>
答案 0 :(得分:5)
一种选择是让TVController
持有对其master
的引用(我会避免使用术语parent
,因为这通常意味着继承)MainController
实例:
class TVController(object):
def __init__(self, name, master=None):
self.TV = TV(name)
self.master = master
def exit(self):
if self.master is not None:
self.master.... # whatever
然后创建它们:
class MainController(object):
def __init__(self):
self.TVControllers = []
self.TVControllers.append(TVController("VardagsrumsTV", self))
self.TVControllers.append(TVController("Köks TV", self))
print("Welcome to the TV-simulator")