Python中给类变量赋值的方法有以下几种:
class MyClass:
class_var = "Hello"
print(MyClass.class_var) # 输出: Hello
class MyClass:
pass
MyClass.class_var = "Hello"
print(MyClass.class_var) # 输出: Hello
cls
参数来访问和赋值类变量。class MyClass:
class_var = "Hello"
@classmethod
def set_var(cls, value):
cls.class_var = value
print(MyClass.class_var) # 输出: Hello
MyClass.set_var("World")
print(MyClass.class_var) # 输出: World
需要注意的是,如果在实例方法中通过self
来访问类变量并赋值,实际上是创建了一个实例变量,而不是修改类变量的值。
class MyClass:
class_var = "Hello"
def set_var(self, value):
self.class_var = value
obj = MyClass()
print(obj.class_var) # 输出: Hello
obj.set_var("World")
print(obj.class_var) # 输出: World
print(MyClass.class_var) # 输出: Hello