Python类和实例变量
示例
实例变量对于每个实例都是唯一的,而类变量由所有实例共享。
class C:
x = 2 #类变量
def __init__(self, y):
self.y= y #实例变量
C.x
#2
C.y
#AttributeError:类型对象“C”没有属性“y”
c1 = C(3)
c1.x
#2
c1.y
#3
c2 = C(4)
c2.x
#2
c2.y
#4可以在此类的实例上访问类变量,但将其分配给class属性将创建一个实例变量,该实例变量遮盖了该类变量
c2.x = 4 c2.x #4 C.x #2
需要注意的是变异的情况下,类变量可能会导致一些意想不到的后果。
class D:
x = []
def __init__(self, item):
self.x.append(item) #请注意,这不是伪装!
d1 = D(1)
d2 = D(2)
d1.x
#[1,2]
d2.x
#[1,2]
D.x
#[1,2]
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下