我收集了很多表格参数。而不是写这样的重复行:
def post(self):
var1 = self.request.get('var1')
var2 = self.request.get('var2')
var3 = self.request.get('var3')
var4 = self.request.get('var4')
...
...有没有办法把它放到循环中?也许是这样的:
def post(self):
var_list = ['var1', 'var2', 'var3', 'var4', ...]
for var in var_list:
var = self.request.get(var)
我的循环的问题是var是一个字符串,我需要它实际上是最后一行的变量名。我怎么能这样做?
答案 0 :(得分:1)
您所写的内容将有效,但您将覆盖作业中的值,因为您重复了var
。而是在列表中收集结果:
def post(self):
var_list = ['var1', 'var2']
result_list = []
for var in var_list:
result_list.append(self.request.get(var))
return result_list # etc.
您可以使用列表解析进一步简化它:
def post(self):
return [self.request.get(var) for var in ['var1', 'var2']]
答案 1 :(得分:0)
为什么不使用列表:
def post(self):
vars_list = []
var_list = ['var'+str(i) for i in range(1,10)]
for var in var_list:
vars_list.append(self.request.get(var))
答案 2 :(得分:0)
定义MAX_VAR_NUM
并使用以下内容:
MAX_VAR_NUM=1000
var = [self.request.get("var"+str(i)) for i in xrange(1,MAX_VAR_NUM)]
您可以添加MAX_VAR_NUM作为对象实例的属性:
var = [self.request.get("var"+str(i)) for i in xrange(1,self.max_var_num)]