Python對象

一切都在Python是一個對象。

甚至基本基本類型(整數,字符串,浮點數..)的值都是對象。列表是對象,元組,字典以及所有內容。

對像有屬性方法可以使用點語法進行訪問。

例如,嘗試定義類型的新變量int

age = 8

age現在可以訪問為所有對象定義的屬性和方法int對象。

例如,這包括訪問該數字的實部和虛部:

print(age.real) # 8
print(age.imag) # 0

print(age.bit_length()) #4

# the bit_length() method returns the number of bits necessary to represent this number in binary notation

擁有列表值的變量可以訪問另一組方法:

items = [1, 2]
items.append(3)
items.pop()

方法取決於值的類型。

id()Python提供的全局函數使您可以檢查特定對像在內存中的位置。

id(age) # 140170065725376

您的記憶力值會改變,我僅以舉例說明

如果為變量分配一個不同的值,則其地址將更改,因為變量的內容已被存儲在內存中其他位置的另一個值替換:

age = 8

print(id(age)) # 140535918671808

age = 9

print(id(age)) # 140535918671840

但是,如果使用對象的方法修改對象,則地址保持不變:

items = [1, 2]

print(id(items)) # 140093713593920

items.append(3)

print(items) # [1, 2, 3] print(id(items)) # 140093713593920

僅當您將變量重新分配給另一個值時,地址才會更改。

一些對像是易變的,有些是一成不變的。這取決於對象本身。如果對象提供了更改其內容的方法,則它是可變的。否則,它是不可變的。 Python定義的大多數類型都是不可變的。例如一個int是一成不變的。沒有任何方法可以更改其值。如果您使用增加數值

age = 8
age = age + 1

#or

age += 1

然後您檢查id(age)你會發現age指向另一個存儲位置。原始值尚未更改,我們切換到了另一個值。


更多python教程: