在Python中解释类__init __()函数内部和外部的变量。

类变量与实例变量

Python中类__init__函数外部的所有变量都是类变量,而内部的所有变量都是实例变量。通过检查以下代码,可以更好地理解类变量和实例变量之间的区别

示例

class MyClass:
    stat_elem = 456
    def __init__(self):
        self.object_elem = 789
c1 = MyClass()c2 = MyClass() #两个元素的初始值
>>> print c1.stat_elem, c1.object_elem
456 789
>>> print c2.stat_elem, c2.object_elem
456 789
#让我们尝试更改静态元素
MyClass.static_elem = 888
>>> print c1.stat_elem, c1.object_elem
888 789
>>> print c2.stat_elem, c2.object_elem
888 789
#现在,让我们尝试更改object元素
c1.object_elem = 777
>>> print c1.stat_elem, c1.object_elem
888 777
>>> print c2.stat_elem, c2.object_elem
888 789