類變數和物件變數的區別

2022-08-20 19:27:09 字數 862 閱讀 9149

物件變數為各物件自己所擁有,類變數所有物件所共有

class

circle:

cnt = 0 #

類變數#

__init__初始化物件

def__init__(self, radius = 15):

self.radius =radius

circle.cnt += 1oner =circle()

print('

圓的半徑:

', oner.radius)

print('

oner.cnt:

', oner.cnt)

twor = circle(13)

print('

圓的半徑:

', twor.radius)

print('

建立了{}個物件

'.format(twor.cnt))

print('

circle.__name__:

', circle.__name__

)print('

circle.__doc__:

', circle.__doc__

)print('

circle.__module__:

', circle.__module__

)print('

oner.cnt:

', oner.cnt)

print('

twor.cnt:

', twor.cnt)

執行結果如下圖所示:

類變數和例項變數的區別

類變數也叫靜態變數,也就是在變數前加了static 的變數 例項變數也叫物件變數,即沒加static 的變數 區別在於 static被修飾的變數和方法,為該整個類及其類的物件所共享,乙個類或物件修改了被定義的類或方法,其他的也會跟著變數。這就是說被static修飾的是大家共用的。而沒有修飾的屬性就相...

成員變數和類變數的區別

由static修飾的變數成為靜態變數,其實質上就是乙個全域性變數。如果某個內容是被所有物件所共享,那麼該內容就應該用靜態修飾 沒有被靜態修飾的內容,其實是屬於物件的特殊描述。不同的物件的是例項變數將被分配不同的記憶體空間,如果類的成員變數有類變數,那麼所有都物件的這個類變數都分配給相同的一處記憶體 ...

成員變數和類變數的區別

由static修飾的變數稱為靜態變數,其實質上就是乙個全域性變數。如果某個內容是被所有物件所共享,那麼該內容就應該用靜態修飾 沒有被靜態修飾的內容,其實是屬於物件的特殊描述。不同的物件的例項變數將被分配不同的記憶體空間,如果類中的成員變數有類變數,那麼所有物件的這個類變數都分配給相同的一處記憶體,改...