python 类的定义一定要注意静态变量

class A:
    ## 静态变量
    a = 12

    def __init__(self, a):
        ##成员变量
        self.a = a



# 静态变量通过 类名.变量名 来访问
print(A.a)  # 12

# 成员变量通过 对象.变量名 访问的
print(A(0).a)  # 0

class B:
    ## 静态变量
    b = 12


b1 = B()
b2 = B()

b1.b = 1


# 之所以结果不相同,原因在于给b1对象的b赋值并没有把类变量b变为1,而是b1对象自己生成了一个变量b,并初始化为1。
print(b1.b)  ## 1

# 而此时b2.b指向的仍然是类A的变量b,其值仍为12
print(b2.b)  ## 12


原文:python ——静态变量_python静态变量_Anan.3的博客-CSDN博客Python语言并不支持静态变量。因为Python是动态语言,不存在完全静态的变量。Python中,静态成员变量称为类变量,非静态成员变量称为实例变量class A: ## 静态变量 a = 12 def __init__(self, a): ##成员变量 self.a = aprint(A.a) # 12print(A(0).a) # 0静态变量是通过类名.变量名 来访问的,成员变量是通过对象.变量名访问的。class .https://blog.csdn.net/m0_61453287/article/details/122723562

猜你喜欢

转载自blog.csdn.net/u013288190/article/details/130466902