私は関数の1つをオーバーライドする必要があるPythonライブラリを使用しています。さんは今、この module.pyPythonライブラリの関数をオーバーライドするにはどうすればよいですか?
def dump(nodes, args = 'bleh'):
...validation checks
for node in nodes:
print(node, someother_args)
def print_node(node, someother_args):
...prints in some way i don't want
を呼びましょう、私はこのダンプ方法を使用していると私は、私は別の方法でそれを印刷したいので、私自身のprint_node方法でprint_node関数をオーバーライドします。それをする最善の方法は何ですか?
注意を以下のような何かを行うことができます。 print_functionをファイルの先頭からインポートして変更することができます(これはpython3で変更されています)。 –
これは実行可能ですが、ほとんど常に悪い考えです。 – user2357112
@ user2357112タイトルの質問は悪い考えですが、パリが実際にやろうとしていることは、IMOではありません。デフォルトの関数を上書きすることで保守性の問題が生じるかもしれませんが、カスタム印刷機能を使用したいのは間違いありません。たとえば、print_and_logという名前で別の名前をつけて印刷したり、ログに書き込んだりすると便利でしょう。 –