简单实例变量和类变量的区别,实例变量与类变量的区别
本文主要介绍Python中类变量和实例变量的区别。文章对Python中类变量和实例变量的问题进行了具体的讲解和演示,有需要的人可以参考。
一.导言二解决方案三。摘要
目录
有人问了一个关于Python类变量和实例变量的问题。在这里,我们分享一下,一起学习。
这些问题是用英语问的。当然,英语看起来也不难。二级英语有点基础,我能听懂。真的不行。网上翻译没什么大问题。
一、前言
主要涉及三个部分:类属性、实例属性、实例属性的参照对象指向性。在这个例子中,counter是一个类属性,__first是一个实例属性,print函数中的counter是一个实例属性的引用对象方向性问题。实例化ExampleClass类时,__init__ magic函数会自动执行它下面的代码段,而下面的代码段涉及到两个属性的改变。实例属性对于实例化的对象是唯一的,即在实例化完成之前不会存在,每个实例化对象之间的实例属性是独立的。从下面的打印结果可以看出,实例对象。__dict__输出当前实例化对象的实例属性。只要定义了类,class属性就已经存在。可以使用类来引用或修改它。类属性,由所有实例化的对象共享。在这个例子中,在实例化一个类后,ExampleClass.counter将加1,输出值在三次打印中是相同的。
在这里还多了一些拓展
在__init__中,一行自我。在ExampleClass.counter=1之前添加counter=1;下面是引用实例属性的方法。类实例化后,先引用已有的实例属性,如果找不到,就查,也就是找类属性。在修改后的代码中,我向实例对象添加了一个实例属性计数器。__dict__在print中,还可以看到instance属性中有一个counter,而instance对象。计数器指的是实例属性,而不是类属性。以下是self.counter=1可以正常执行的原因。如上所述,实例属性的引用会查找,所以当计算=1时,会引用类属性。第一次实例化时,class属性下的计数器为0,加1后赋给instance属性下的计数器,所以第一个实例对象的计数器打印为1。第二次实例化,在第一次实例化的过程中,class属性下的counter也加了1,在第二个实例中有所体现,使用的class属性counter已经是1了,所以加了1赋给第二个实例属性的counter,也就是2。第三个例子是相似的。
二、解决过程
本文给出了Python类变量和实例变量的具体解释和演示。
一般来说,类变量:是一个可以在类的所有实例之间共享的值(也就是说,它们不会被单独分配给每个实例)。实例变量:实例化后,每个实例都有自己的变量。
类变量和实例变量的区别在于:变量是所有对象共有的,其中一个对象改变它的值,其他对象得到改变后的结果;虽然实例变量对于对象是私有的,但是一个对象更改其值不会影响其他对象。
关于Python中类变量和实例变量的区别,本文到此为止。关于Python类变量和实例变量的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。