
本文的示例形式说明了python类变量和成员变量的用法实例变量是类的成员变量吗,它们对Python编程具有一定的参考价值. 与您分享以供参考. 详细信息如下:
首先看下面的代码:

class TestClass(object):
val1 = 100
def __init__(self):
self.val2 = 200
def fcn(self,val = 400):
val3 = 300
self.val4 = val
self.val5 = 500
if __name__ == '__main__':
inst = TestClass()
print TestClass.val1
print inst.val1
print inst.val2
print inst.val3
print inst.val4
print inst.val5
这里val1是一个类变量,可以通过类名或对象直接调用;

val2是一个成员变量,可以由该类的对象调用. 在这里我们可以看到成员变量必须以self. 的形式给出,因为self的含义是代表实例对象;
val3不是成员变量,它只是函数fcn中的局部变量;

val4和val5都不是成员变量. 尽管它们是self. ,但它们并未在构造函数中初始化.
看下面的代码(#后面的运行结果):

inst1 = TestClass() inst2 = TestClass() print TestClass.val1 # 100 print inst1.val1 # 100 inst1.val1 = 1000 print inst1.val1 # 1000 print TestClass.val1 # 100 TestClass.val1 =2000 print inst1.val1 # 1000 print TestClass.val1 # 2000 print inst2.val1 # 2000 inst3 = TestClass() print inst3.val1 # 2000
可以发现python类变量不同于C ++静态变量实例变量是类的成员变量吗,并且不被该类的所有对象共享. 类本身具有自己的类变量(存储在内存中). 当构造一个TestClass类的对象时,当前类变量将被复制到该对象,当前类变量的值是什么,并且该对象获得的类变量复制什么值;通过该对象修改类变量不会影响其他对象的类变量的值,因为每个人都有自己的副本,并且不会影响该类本身拥有的类变量的值;只有类本身才能更改类本身具有的类变量的值.
我希望本文中的示例对每个人都有助于理解和掌握Python的类变量和成员变量的用法.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-228711-1.html
文章分明不全
好呀