要定義一個(gè)類變量,可以在類的內(nèi)部直接賦值給一個(gè)變量,例如:
class MyClass:
class_variable = 10
要使用類變量,可以通過類名或?qū)嵗龑?duì)象來訪問它,例如:
print(MyClass.class_variable) # 輸出:10
my_object = MyClass()
print(my_object.class_variable) # 輸出:10
類變量是類的所有實(shí)例對(duì)象共享的,所以無論通過類名還是實(shí)例對(duì)象訪問類變量,都會(huì)得到相同的值。如果某個(gè)實(shí)例對(duì)象修改了類變量的值,那么這個(gè)修改會(huì)影響到其他所有實(shí)例對(duì)象。例如:
my_object = MyClass()
print(my_object.class_variable) # 輸出:10
my_object.class_variable = 20
print(my_object.class_variable) # 輸出:20
another_object = MyClass()
print(another_object.class_variable) # 輸出:10
在上面的示例中,my_object
修改了 class_variable
的值為 20,但是 another_object
的 class_variable
的值仍然是 10。這是因?yàn)?my_object.class_variable = 20
實(shí)際上是給 my_object
創(chuàng)建了一個(gè)實(shí)例變量,它會(huì)覆蓋類變量的值。如果想要修改類變量而不是創(chuàng)建一個(gè)實(shí)例變量,可以通過類名來修改,例如:
MyClass.class_variable = 20
print(my_object.class_variable) # 輸出:20
print(another_object.class_variable) # 輸出:20