温馨提示×

python类变量赋值的方法是什么

小亿
176
2024-02-05 15:03:35
栏目: 编程语言

Python中给类变量赋值的方法有以下几种:

  1. 在类定义中直接赋值:可以在类定义中直接给类变量赋值,赋值语句一般放在类方法之外。
class MyClass:
    class_var = "Hello"

print(MyClass.class_var)  # 输出: Hello
  1. 通过类名动态赋值:可以通过类名来给类变量赋值,这种方式可以在类定义之外或类方法内部进行。
class MyClass:
    pass

MyClass.class_var = "Hello"
print(MyClass.class_var)  # 输出: Hello
  1. 在类方法中赋值:可以在类方法中使用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

0