python类变量和实例变量的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python类变量和实例变量的区别相关的知识,希望对你有一定的参考价值。
类变量:是为类服务的,类所有的实例都共享使用,在一个地方被改变,所有调用的地方变量值都改变。定义类时的写法为类名.变量名
实例变量:是在实例中生效的,每个实例变量的值都根据实例本身需求进行修改,不会影响其他实例,定义类时的写法为self.变量名
(1)定义一个类
class C:
a = 0 #类变量
b = 0 #类变量
def __init__(self, flag):
self.a = flag #实例变量
C.a = 1 #类变量赋值
C.b = 1 #类变量赋值
(2)类实例化
test1 = C(5)
test2 = C(6)
(3)查看结果
>>> test1.a
5
>>> test2.a
6
#实例变量根据实例的不同而有不同的值
>>> C.a
1
>>> C.b
1
>>> test1.b
1
>>> test2.b
1
#类变量在所有实例中都是一样的
>>> C.b = 10 #改变类变量值
>>> test1.b
10
>>> test2.b
10
#可以看到所有实例中的类变量都改变了
以上是关于python类变量和实例变量的区别的主要内容,如果未能解决你的问题,请参考以下文章