内容简介:python编程(类变量和实例变量)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
关于类变量和实例变量,一直不是很清楚。所以,想做几个实验,彻底解决这个问题。为此,我们设计了三个实验。
1、直接引用类变量
import os import sys class A(): data = 10 a = A() b = A() print a.data print b.data print a.__dict__ print b.__dict__
通过实验结果,我们发现a和b中关于data的数据都是10,但是此时a和b的__dict__都没有数据。
2、修改实例变量
a.data = 11 print a.data print b.data print a.__dict__ print b.__dict__
接着1的实验,我们继续往下看。为此,先修改a.data =11,查看代码的执行情况。通过实验,我们发现,此时a的数据发生了改变,且打印为11,__dict__也发生了改变。但是b什么也没变。
3、修改类变量
A.data = 12 print a.data print b.data print a.__dict__ print b.__dict__
在实验3中,代码直接修改了类的变量。此时通过打印,我们看到a的数据仍然为11,但是b的数据已经打印为12。关于__dict__,则a存在data数据,b照样什么也没有。
4、结论
通过实验,我们可以得出这么一些结论,即实例创建的时候,引用的变量直接指向类变量。如果此时实例变量没有做出修改,那么类变量修改为什么数据,实例变量就会打印什么数据。然而,一旦 实例变量数据发生了改变,它就会在自己的内存空间重新给这个变量分配一段空间,这个时候,类变量的修改就和实例变量没有什么关系了。
以上所述就是小编给大家介绍的《python编程(类变量和实例变量)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Python基础-类变量和实例变量
- python使用锁访问共享变量实例解析
- c# – 是否可以通过静态方法访问实例变量?
- JVM指令分析实例一(常量、局部变量、for循环)
- 全局变量,静态全局变量,局部变量,静态局部变量
- python变量与变量作用域
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learn Python the Hard Way
Zed A. Shaw / Addison-Wesley Professional / 2013-10-11 / USD 39.99
Master Python and become a programmer-even if you never thought you could! This breakthrough book and CD can help practically anyone get started in programming. It's called "The Hard Way," but it's re......一起来看看 《Learn Python the Hard Way》 这本书的介绍吧!