0
对于上下文,我对通常的类和Python非常陌生。如何调用调用类的属性
我有Bot
类和BotSub
类
在Bot
我有事self.driver
,后来我打电话BotSub()
。如何拨打Bot
的self.driver
?
对于上下文,我对通常的类和Python非常陌生。如何调用调用类的属性
我有Bot
类和BotSub
类
在Bot
我有事self.driver
,后来我打电话BotSub()
。如何拨打Bot
的self.driver
?
你必须传递给Bot
对象(这是self
参数)一个参考BotSub
类,并且它必须使用回叫Bot
对象的方法。
例如:
class Bot(object):
def __init__(self):
self.botsub = BotSub(self)
def driver(self):
...
def update(self):
self.botsub.dothings()
class BotSub(object):
def __init__(self, bot):
self.bot = bot
def dothing(self):
self.bot.driver()
或者,你并不需要保存父博特实例作为对BotSub属性 - 只是把它作为当你调用它的方法,这将需要一个参数参考机器人:
...
class Bot(object):
...
def update(self):
self.botsub.dothings(self)
class BotSub(object):
...
def dothings(self, bot):
bot.driver()
...
我明白了。这就说得通了。当更新'Bot'上的'self'时,即使在第一个'init'ialization之后它会自动在'BotSub'上更新吗? – Rob
是的,BotSub将拥有的是对活Bot对象的引用 - 其中的任何更改都将在botsub代码中可见(因为它将查看完全相同的对象) – jsbueno