self
我們在類別(class)裡面都會看到一個self,而這個self其實就是指向自己實體的意思
class Cat:
def memory_address(self):
print(self)
animal = Cat()
animal.memory_address() #print <__main__.Cat object at 0x033D2030>
animal2 = Cat()
animal2.memory_address() #print <__main__.Cat object at 0x033D2039>
如上述程式碼
我們在memory_address
這個method
輸出 self
到螢幕上,會看到這個實體(instance)在哪個記憶體位置(memory address)
而宣告了變數animal
, animal2
,輸出的結果各不相同,這代表了我們再建立實體的時候,系統會指派不同的記憶體給不同的實體
所以兩個實體之間是各自獨立的,因為他們並不再同一個記憶體位置上。