内容简介: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变量与变量作用域
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTML 5 与 CSS 3 权威指南
陆凌牛 / 机械工业出版社华章公司 / 2011-4-7 / 69.00
如果你是一位有前瞻性的web前端工作者,那么你一定会从本书中受益,因为它就是专门为你打造的。 《HTML 5与CSS 3权威指南》内容系统而全面,详尽地讲解了html 5和css 3的所有新功能和新特性;技术新颖,所有知识点都紧跟html 5与css 3的最新发展动态(html 5和css 3仍在不断完善之中);实战性强(包含246个示例页面),不仅每个知识点都配有精心设计的小案例(便于动手......一起来看看 《HTML 5 与 CSS 3 权威指南》 这本书的介绍吧!