13

変数を使用してPythonオブジェクトのプロパティ/メソッドにアクセスすることは可能ですか?

例:

handler.request.GET.add()

事前にメソッドを変数にキャプチャし、それをドット表記で使用することにより、「GET」部分を置き換えたいと思います。

method = handler.method
handler.request.{method}.add()

どこでどうやってそれをするのかわからない。

4

3 に答える 3

19

あなたが探しているgetattr

getattr(handler.request, 'GET')と同じhandler.request.GETです。

だからあなたはすることができます

method = "GET"
getattr(handler.request, method).add()
于 2013-02-03T22:33:06.030 に答える
6

getattr()関数を使用して動的属性にアクセスします。

method = 'GET'
getattr(handler.request, method).add()

これは、とまったく同じことを行いhandler.request.GET.add()ます。

于 2013-02-03T22:32:33.040 に答える
2

getattrのようなことをすることができます

getattr(handler.request, "GET").add()

次に、

method = "GET" # or "POST"
getattr(handler.request, method).add()
于 2013-02-03T22:32:57.480 に答える