私はコンポーネントオブジェクトを持っているとしましょう。ルート。メソッドを保持し、引数を保持するPythonラップコンポーネントコンストラクタ
class Route:
def __init__(self, url='localhost', port=80)
...
そして私は、フラスコが@app.route
で何に似てルーティングマネージャクラスを提供したいので、私はルートのトラックを作成しておくことができます。
class Router:
def route(self, *args, **kwargs):
route = Route(*args, **kwargs)
self.routes.append(route)
作るための簡単な方法はありますRouter.route
メソッドには、引数補完および/またはドキュメントが自動的にRoute.__init__
を反映していますか?
functools.wraps
を使用しようとしましたが、すぐには効果がありませんでした。たぶん私はそれを間違って使用?
class Router:
@wraps(Route.__init__)
def route(self, *args, **kwargs):
route = Route(*args, **kwargs)
self.routes.append(route)
EDIT:私は、最新PyCharm(2016年3月2日)でのPython 3.6を使用しています。
どのIDEを完成させたいですか?どのようなPythonバージョンを使用していますか?古いAPIはコードオブジェクトを直接参照します。それらを欺く方法はありません。より新しいコードは高度なプロトコルを使用します。 –
私はワンサイズの解決策を望んでいましたが、セットアップで質問を更新しました。特定のソリューションは、ソリューションよりも優れています。 – VillasV