在Python中,類變量和成員變量是兩種不同類型的變量。
類變量是在類的定義中聲明的變量,它是類的所有實例共享的屬性。當類變量的值被修改時,所有實例中的該類變量的值也會被修改。類變量通常用于存儲與類相關的常量或默認值。
成員變量(也稱為實例變量)是在類的方法中聲明的變量,它是每個實例都擁有的屬性。每個實例都有自己的成員變量的副本,它們的值可以彼此獨立地修改。成員變量通常用于存儲實例特定的數據。
下面是一個使用類變量和成員變量的示例:
class MyClass:
class_variable = 10
def __init__(self, instance_variable):
self.instance_variable = instance_variable
obj1 = MyClass(5)
obj2 = MyClass(7)
print(obj1.class_variable) # 輸出:10
print(obj2.class_variable) # 輸出:10
print(obj1.instance_variable) # 輸出:5
print(obj2.instance_variable) # 輸出:7
MyClass.class_variable = 20
print(obj1.class_variable) # 輸出:20
print(obj2.class_variable) # 輸出:20
在上面的示例中,class_variable
是一個類變量,它的值為 10。instance_variable
是一個成員變量,它的值是在每個實例創建時通過構造函數傳遞的。
當我們修改類變量 class_variable
的值時,所有實例中的該類變量的值也會被修改。但是,修改一個實例的成員變量的值不會影響其他實例中的同名成員變量的值。