类属性不是是所有实例共享的吗?
>>> class A:... a = 1
...
>>> c = A()
>>> d = A()
>>> c.a
1
>>> c.a = 2
>>> d.a
1
>>>
我突然被问倒了,这里的类属性被c改了,但b显示的
类属性还是1啊,是不是c.a = 2的问题?
老沫白 发表于 2022-2-8 17:37
我主要是想知道为什么c.a和b.a不行
因为只有在总的 class 类中改变才能使所有的实例对象一起随着改变,
而单独改变实例对象中的变量是无法牵扯到另一个实例对象的! 应该是 A.a = 2 ckblt 发表于 2022-2-8 17:30
应该是 A.a = 2
为什么?
这样才能让c.a, d.a都是 2 ckblt 发表于 2022-2-8 17:34
这样才能让c.a, d.a都是 2
我主要是想知道为什么c.a和b.a不行 老沫白 发表于 2022-2-8 17:37
我主要是想知道为什么c.a和b.a不行
类相当于一个模板,实例化相当于粘贴这个模板,粘贴之后修改的内容,不会干扰到原模板和其他粘贴的模板,
A.a这个就相当于修改原模版,所以实例化的模板也会被改变,类存在的意义就在于将一个事物归类 谢谢兄弟好评!{:10_297:}{:10_281:}{:10_298:} 小黑是乌龟
小白是乌龟
小黑是黑色的,小白不一定是黑色
乌龟是黑色的,小黑和小白都是黑色的
页:
[1]