python编程(类变量和实例变量)

栏目: Python · 发布时间: 8年前

内容简介: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编程(类变量和实例变量)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

家事的撫慰(下冊)

家事的撫慰(下冊)

Cheryl Mendelson / 甘錫安 / 大家出版社 / 2014-1-28 / NT$520

家事界暢銷參考書籍 各大媒體一致盛讚 亞馬遜讀者四星半高度評鑑 誠品、博客來、香港誠品 三選書 家務界經典暢銷書│各大媒體一致盛讚│讀者四星半高度評鑑 「這個世代最重要的家事著作!」──《大西洋月刊》 恢復家務打理者應有的地位,賦予應有的尊嚴和價值。 以生理的勞動、心力的投入,以及正確的持家知識,換得情感上的溫暖與安全。 .家裡空氣有異味,用香味來......一起来看看 《家事的撫慰(下冊)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具