1 回答

TA貢獻1836條經驗 獲得超4個贊
直接來自 Python 文檔的一個示例是defaultdict
集合。它僅覆蓋字典的一種方法(__missing__(key)
方法)。
defaultdict 是內置 dict 類的子類。它重寫一種方法 (...) 其余功能與 dict 類相同,此處未記錄。(...) 所有剩余參數的處理方式與傳遞給 dict 構造函數的方式相同,包括關鍵字論據。
該文檔以散文形式明確說明了這一點,記錄了重寫方法,并解釋了超類和子類構造函數簽名之間的參數差異。
我是否只使用描述中的某個單詞,或者這是我需要應用的像 :return: 這樣的鍵?
你所說的“key”實際上被稱為文檔字符串部分。沒有特定的“文檔字符串部分”來指示“覆蓋”或“擴展”,因為這是隱式的。如果子類定義的方法與其超類的方法具有完全相同的名稱,則該方法必然是重寫或擴展的。
總之,您會驚訝地發現您的文檔實際上是正確的。您最多可以口頭添加“覆蓋”和“擴展”以及對超類方法的交叉引用,如下所示:
class B(A):
? ? """Neither method_a nor method_b are inherited.
? ? ? ?Both methods are redefined in this class.
? ? """
? ? def method_a(self):
? ? ? ? """This method overrides :meth:`A.method_a`."""
? ? ? ? print("overridden")
? ? def method_b(self):
? ? ? ? """This method extends :meth:`A.method_b`."""
? ? ? ? super().method_b()
? ? ? ? print("extended")
添加回答
舉報