Python物件
在Python中,一切皆為物件。
甚至基本資料型別(整數、字串、浮點數等)的值也都是物件。串列是物件,元組、字典等等都是物件。
物件具有屬性和方法,可以使用點語法來存取它們。
例如,嘗試定義一個新的 int
型別的變數:
1 | age = 8 |
現在,age
可以存取所有 int
物件的屬性和方法。
例如存取該數字的實部和虛部:
1 | print(age.real) # 8 |
存放串列值的變數則有不同的一組方法:
1 | items = [1, 2] |
方法的可用性取決於值的類型。
Python 提供的 id()
全域函數可讓您檢查特定物件在內存中的位置。
1 | id(age) # 140170065725376 |
你的記憶體位置將會不同,這只是一個示範
如果將不同的值分配給變數,它的位置將會變化,因為變數的內容已被替換為另一個位於記憶體中的位置的值:
1 | age = 8 |
但如果使用物件的方法修改物件,其位置將保持不變:
1 | items = [1, 2] |
只有在將變數重新分配給另一個值時,位置才會變化。
某些物件是可變的,而某些物件則是不可變的。這取決於物件本身。如果物件提供了變更其內容的方法,那麼它就是可變的。否則,它就是不可變的。Python 定義的大多數類型都是不可變的。例如,int
是不可變的。它沒有改變值的方法。如果您使用以下方式增加值:
1 | age = 8 |
並且使用 id(age)
檢查,您會發現 age
指向不同的記憶體位置。原始值沒有變異,我們切換到了另一個值。
tags: [“程式語言”, “Python”, “物件導向”]