2016-03-30 16 views
1

pythonのlib cairoに拡張機能を書きたいと思っています。計画は以下の通りです:existong pythonモジュールに拡張機能を書く

カイロは、ユーザが幾何学的オブジェクトを描くキャンバスである "Context"という名前のクラスを持っています。例えば

は次に

cr.move_to(a,b) 
cr.line_to(c,d) 

は(A、B)にペンを移動して(C、D)に線を描画し、Crがコンテキストのインスタンスとします。

このライブラリに別のメソッドを追加したいとします。たとえば、 "My_line_to"という名前です:この関数は、直線ではなく(a、b)と(c、d)の間にカーブを描きますそれline_to()、それは双曲幾何学における測地線)ですので、

使用量が

cr.my_move_to(a,b) 
cr.my_line_to(c,d) 

である私は、私は「MyDrawer.py」という名前の別のファイルにこの拡張機能を作るより良いと思うが、私は考えていますこれを実装する方法。この場合、既存のモジュールの拡張を記述するための標準的でエレガントな方法は何ですか?参考にしていただきありがとうございます。

+0

重複した質問が見つかりました:http://stackoverflow.com/questions/2705964/how-do-i-extend-a-python-module-python-twitter –

答えて

1

サブクラスはここにあなたの友人です。 Contextクラスをサブクラス化し、追加のメソッドを定義するだけです。

この新しいクラスを使用する場合は、インポートして使用してください。

関連する問題