我在讀'潛入Python',下面的例子給出了每一行的解釋,但我仍然無法解釋意義。有人可以在數字1和2上多說一些嗎?當它開始說明這個包裝類的基本技術時,我不明白#1 ...等等。#2我完全不理解它。請協助和教育。UserDict普通方法說明
例5.10。 UserDict正常方法
def clear(self): self.data.clear() ❶
def copy(self): ❷
if self.__class__ is UserDict: ❸
return UserDict(self.data)
import copy ❹
return copy.copy(self)
def keys(self): return self.data.keys() ❺
def items(self): return self.data.items()
def values(self): return self.data.values()
❶clear是一個普通的類方法;它是公開可供任何人隨時調用的。注意 明確,像所有的類方法,有自己作爲第一個參數。 (請記住,當您調用方法時,不包含 self;它是Python爲您添加的東西。)還要注意此包裝類的基本技巧 :將實際字典(數據)存儲爲數據屬性,定義全部實際字典所具有的方法,並將每個類方法重定向到實際字典上的相應方法。 (如果您忘記了,字典的清除方法將刪除其所有密鑰及其關聯的值。) ❷真實字典的複製方法返回與原始 (完全相同鍵值對)。但是UserDict不能簡單地重定向到self.data.copy,因爲 方法返回一個真正的字典,並且你想要的是返回一個與自己相同的類 的新實例。