是否可以使用变量以及如何访问Python对象上的属性/方法?
示例:
handler.request.GET.add()
我想通过事先将方法捕获到变量中然后以点表示法使用它来替换'GET'部分。
method = handler.method
handler.request.{method}.add()
我只是看不到在哪里/怎么做。
答案 0 :(得分:11)
您正在寻找getattr
:
getattr(handler.request, 'GET')
与handler.request.GET
相同。
所以你可以做到
method = "GET"
getattr(handler.request, method).add()
答案 1 :(得分:5)
使用getattr()
function访问动态属性:
method = 'GET'
getattr(handler.request, method).add()
与handler.request.GET.add()
完全相同。
答案 2 :(得分:2)
您可以执行getattr
之类的操作getattr(handler.request, "GET").add()
然后就这样做
method = "GET" # or "POST"
getattr(handler.request, method).add()