阅读量:0
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