python类的多个实例化_⼀个类的多个实例同时被覆盖?
(Python)
进⾏了修改,使其更清晰。
实例化类和实例化对象对于您拥有的代码,您的问题是您正在使变量x和y引⽤类定义,⽽不是实例化对象,我认为这些对象现在在所有的讨论和帖⼦中都已成为问题。x = exampleClass
现在意味着x现在指向类定义。这很有趣,因为您将attribute1作为exampleClass的变量,所以可以执⾏以下操作:x.attribute1 = 3
现在,如果您执⾏以下操作:exampleClass.attribute1
现在你将看到3,⽽不是原来设置的0!
要实例化类的对象,需要执⾏以下操作:x = exampleClass()
y = exampleClass()
现在,这两个变量都在引⽤新对象,每个对象都有⾃⼰的属性,因此如果这样做了:x.attribute1 = 219
然后您会发现y.attribute1没有被修改:)在python中,使⽤类和函数的名称作为对定义的引⽤是很常见的。所以⼀定要⼩⼼,如果你想实例化⼀个对象,⼀定要⽤括号,如果你想调⽤⼀个函数,也⼀定要这样做,否则使⽤名称就是对定义的引⽤。
不过,我建议您阅读Ned Batchelder的答案(现在还有其他⼈),因为您应该使⽤in it函数以这种⽅式创建实例变量,因为它更加⼲净,更接近⼤多数遵循的设计标准。
但总的来说,因为它继承⾃对象类,所以您可以假设这样做会创建实例(带括号)等等,因此您可以修改对象值,因为我认为它们应该是实例变量,即使没有“self”。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论