深入研究 __init__() 内部和外部变量的区别
考虑以下两个类:
<code class="python">class WithClass (): def __init__(self): self.value = "Bob" def my_func(self): print(self.value) class WithoutClass (): value = "Bob" def my_func(self): print(self.value)</code>
乍一看,这些类看起来是相同的。然而,一个微妙的区别在于值变量的放置。在第一个类 (WithClass) 中,value 在 __init__() 方法内初始化,而在第二个类 (WithoutClass) 中,它在方法外部声明。
变量在 __init__() 之外 (Class属性)与 __init__() 内的变量(实例属性)
变量的位置决定了它是类属性还是实例属性。
放置的后果
这种区别会对代码行为和维护产生影响。
放置位置的选择
放置变量的位置的选择取决于您的方式希望它在类中表现良好。如果您希望共享值在实例之间保持不变,请使用类属性。如果您希望每个实例都有唯一的值,请在 __init__() 中创建它作为实例属性。
通过了解 __init__() 内部和外部变量之间的区别,您可以设计具有清晰且可预测行为的类,避免潜在的混乱和陷阱。
以上是Python 中 `__init__()` 内部和外部定义的变量有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!