Assign Values to Python Class Variables
There are several ways to assign values to class variables in Python.
- Directly assigning in class definition: It is possible to directly assign values to class variables within the class definition, typically placing the assignment statement outside of class methods.
class MyClass:
class_var = "Hello"
print(MyClass.class_var) # 输出: Hello
- Assigning values dynamically by class name: It is possible to assign values to class variables using the class name, which can be done outside of the class definition or within class methods.
class MyClass:
pass
MyClass.class_var = "Hello"
print(MyClass.class_var) # 输出: Hello
- Clear screen.
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
It is important to note that when accessing and assigning class variables using ‘self’ in instance methods, it actually creates an instance variable rather than modifying the class variable’s value.
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