新聞中心
在Python中,類是一種用于創(chuàng)建對象的藍(lán)圖,類定義了對象的屬性(變量)和方法(函數(shù)),在類中,我們可以定義兩種類型的變量:實(shí)例變量和類變量。

成都創(chuàng)新互聯(lián)于2013年成立,先為上林等服務(wù)建站,上林等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為上林企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1、實(shí)例變量
實(shí)例變量是在類的構(gòu)造函數(shù)中定義的變量,它們屬于類的實(shí)例,每個(gè)實(shí)例都有自己的實(shí)例變量,它們之間互不影響,實(shí)例變量通常用于存儲(chǔ)與實(shí)例相關(guān)的數(shù)據(jù)。
創(chuàng)建實(shí)例變量的方法如下:
class MyClass:
def __init__(self, value):
self.instance_variable = value
創(chuàng)建一個(gè)實(shí)例
obj1 = MyClass(10)
print(obj1.instance_variable) # 輸出:10
創(chuàng)建另一個(gè)實(shí)例
obj2 = MyClass(20)
print(obj2.instance_variable) # 輸出:20
2、類變量
類變量是在類的主體中定義的變量,它們屬于類本身,而不是類的實(shí)例,所有實(shí)例共享相同的類變量值,類變量通常用于存儲(chǔ)與類相關(guān)的數(shù)據(jù),例如常量或默認(rèn)值。
創(chuàng)建類變量的方法如下:
class MyClass:
class_variable = "I am a class variable"
訪問類變量
print(MyClass.class_variable) # 輸出:I am a class variable
需要注意的是,如果在實(shí)例中訪問類變量,需要使用類名作為前綴,否則會(huì)引發(fā)AttributeError。
obj = MyClass() print(obj.class_variable) # 錯(cuò)誤:AttributeError: 'MyClass' object has no attribute 'class_variable' print(MyClass.class_variable) # 正確:I am a class variable
3、實(shí)例變量和類變量的區(qū)別
實(shí)例變量屬于實(shí)例,每個(gè)實(shí)例都有自己的實(shí)例變量,它們之間互不影響,類變量屬于類,所有實(shí)例共享相同的類變量值。
實(shí)例變量在構(gòu)造函數(shù)中定義,類變量在類的主體中定義。
實(shí)例變量通常用于存儲(chǔ)與實(shí)例相關(guān)的數(shù)據(jù),類變量通常用于存儲(chǔ)與類相關(guān)的數(shù)據(jù),例如常量或默認(rèn)值。
4、修改類變量
可以通過類名直接修改類變量的值,也可以通過實(shí)例修改類變量的值,但是需要注意,通過實(shí)例修改類變量的值時(shí),實(shí)際上是為該實(shí)例創(chuàng)建了一個(gè)同名的實(shí)例變量,而不會(huì)改變類變量的值。
class MyClass:
class_variable = "I am a class variable"
修改類變量的值
MyClass.class_variable = "I am a new class variable"
print(MyClass.class_variable) # 輸出:I am a new class variable
通過實(shí)例修改類變量的值
obj = MyClass()
obj.class_variable = "I am an instance variable"
print(obj.class_variable) # 輸出:I am an instance variable
print(MyClass.class_variable) # 輸出:I am a new class variable
總結(jié)一下,Python中的類變量和實(shí)例變量是兩種不同的變量類型,它們在作用域、生命周期和使用方式上有所不同,了解這兩種變量的特點(diǎn)和區(qū)別,有助于我們更好地編寫和維護(hù)Python代碼。
當(dāng)前名稱:python類中的變量
URL網(wǎng)址:http://www.dlmjj.cn/article/dhpdopj.html


咨詢
建站咨詢
