我可以用Python的docx
圖書館工作,我是希望從docx
創建Document
類的子類NewStyleDoc
。我試圖做到這一點,如下所示:在Python中使用子類化函數?
from docx import Document
class NewStyleDocument(Document):
# stuff
我收到的錯誤:
TypeError: function() argument 1 must be code, not str
這意味着Document
實際上是一個功能。 (我通過type(Document)
進行了驗證)我的問題是:我可以定義繼承Document
所有屬性的類嗎?我的最終目標很簡單:我只想做:
doc = NewStyleDocument()
並且有一些自定義字體。 (通常,每次創建新文檔時都必須修改樣式。)也許有更簡單的方法?
如果它確實是一個函數,你可能需要[裝飾](https://wiki.python.org/moin/PythonDecorators)。 – Rockybilly
嘗試確定由「Document」函數返回的對象的類型,以及該類的子類。 – Kevin
只需從新函數調用原始函數,即可修改結果。或者,如果舊函數返回一個類的實例,則子類*即*。 –