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类变量和实例变量的区别的主要内容,如果未能解决你的问题,请参考以下文章

Python里类变量和实例变量的区别

Python 类变量与实例变量的区别和用途

本地 和 实例 变量之间有啥区别

在Java程序设计中实例变量和类变量有啥区别?

实例变量和类变量的区别

JAVA类与对象---实例变量与类变量的区别,实例方法和类方法的区别