私はPythonでdocx
ライブラリを使用しています。Document
クラスのサブクラスNewStyleDoc
をdocx
から作成したいと考えていました。 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
新しい関数の元の関数を呼び出して結果を修正するだけです。または、古い関数がクラスのインスタンスを返す場合は、* that *をサブクラス化します。 –