変数を使用してPythonオブジェクトのプロパティ/メソッドにアクセスすることは可能ですか?
例:
handler.request.GET.add()
事前にメソッドを変数にキャプチャし、それをドット表記で使用することにより、「GET」部分を置き換えたいと思います。
method = handler.method
handler.request.{method}.add()
どこでどうやってそれをするのかわからない。
変数を使用してPythonオブジェクトのプロパティ/メソッドにアクセスすることは可能ですか?
例:
handler.request.GET.add()
事前にメソッドを変数にキャプチャし、それをドット表記で使用することにより、「GET」部分を置き換えたいと思います。
method = handler.method
handler.request.{method}.add()
どこでどうやってそれをするのかわからない。
あなたが探しているgetattr
:
getattr(handler.request, 'GET')
と同じhandler.request.GET
です。
だからあなたはすることができます
method = "GET"
getattr(handler.request, method).add()
getattr()
関数を使用して動的属性にアクセスします。
method = 'GET'
getattr(handler.request, method).add()
これは、とまったく同じことを行いhandler.request.GET.add()
ます。
getattrのようなことをすることができます
getattr(handler.request, "GET").add()
次に、
method = "GET" # or "POST"
getattr(handler.request, method).add()