是否可以使用变量访问 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()