【发布时间】:2020-04-10 17:52:01
【问题描述】:
在声明你的类实例变量时,你可以调用类的方法之一来初始化你的构造函数中的一个实例变量吗?例如,假设我有一个 Button 类,以及该类中的一个方法 methodA(),它将名为“active”的变量设置为 False。我可以通过调用该方法来初始化“活动”吗?
class Button:
def __init__(self):
*snip*
self.methodA()
def methodA(self):
self.active = False
这种技术对于初始化我的实例变量“活动”是否正确?
【问题讨论】:
-
是的,你可以,但是为什么你会这样做而不是在init方法中设置
self.active = False? -
这是一个很好的问题 - 我正在研究 Zelle Python Programming 第 3 版。教科书,这就是他设置的方式。他正在报道一个炮弹发射项目,并通过调用 deactivate() 方法为名为“活动”的按钮状态初始化布尔实例变量,因此任何按钮都将具有“活动”= False 的初始值。 deactivate() 方法确实做了一些其他的事情,即它为一些其他实例变量添加了更多的颜色和线宽格式,这些实例变量在初始化时会被 deactivate() 方法进一步强调。
标签: python variables constructor instance