Python 类变量和实例变量的黑白区别
python 中的类变量和实例变量
在python中,有两种类型的变量:类变量和实例变量。理解这两类变量之间的区别对于编写高效且有组织的代码至关重要。这与其他语言有点不同。
类变量
类变量,也称为静态变量,是由类的所有实例共享的变量。它们是在任何方法或构造函数之外定义的,并且与类本身相关联,而不是与任何特定实例相关联。
要声明类变量,只需在类定义中使用 = 运算符为其赋值即可。这是一个例子:
class myclass: class_variable = "this is a class variable"print(myclass.class_variable) # output: this is a class variableobj1 = myclass()obj2 = myclass()print(obj1.class_variable) # output: this is a class variableprint(obj2.class_variable) # output: this is a class variable
请注意,类变量由类的所有实例共享。如果您修改一个实例中类变量的值,它也会影响所有其他实例。
实例变量
另一方面,实例变量是类的每个实例唯一的变量。它们是在创建类的实例时创建的,并且与该特定实例关联。要声明实例变量,您需要在类的方法或构造函数中定义它。这是一个例子:class MyClass: def __init__(self, instance_variable): self.instance_variable = instance_variableobj1 = MyClass("obj1 instance variable")print(obj1.instance_variable) # Output: obj1 instance variableobj2 = MyClass("obj2 instance variable")print(obj2.instance_variable) # Output: obj2 instance variable
希望这篇文章能帮助你理解python中的类变量和实例变量。如果您还有任何疑问,请告诉我!