每次输入s来自表单; 在list重新初始化.如何更改代码以将每个新附加s到列表中?
谢谢.
class Test(webapp.RequestHandler):
def get(self):
s = self.request.get('sentence')
list = []
list.append(s)
htmlcode1 = HTML.table(list)
Run Code Online (Sandbox Code Playgroud)
我不确定你的代码的上下文是什么,但这应该工作:
class Test(webapp.RequestHandler):
def get(self):
s = self.request.get('sentence')
try:
self.myList.append(s)
except NameError:
self.myList= [s]
htmlcode1 = HTML.table(self.myList)
Run Code Online (Sandbox Code Playgroud)
这使得list一个实例变量,所以它会坚持下去.问题是list我们第一次尝试使用它时可能不存在,所以在这种情况下我们需要初始化它.
实际上,看看这篇文章,这可能是更干净的代码:
class Test(webapp.RequestHandler):
def get(self):
s = self.request.get('sentence')
if not hasattr(self, 'myList'):
self.myList = []
self.myList.append(s)
htmlcode1 = HTML.table(self.myList)
Run Code Online (Sandbox Code Playgroud)
[编辑:]以上因某些原因无效,请试试这个:
class Test(webapp.RequestHandler):
myList = []
def get(self):
s = self.request.get('sentence')
self.myList.append(s)
htmlcode1 = HTML.table(self.myList)
Run Code Online (Sandbox Code Playgroud)
您可以使列表成为对象的成员变量,然后仅在get()调用时更新它:
class Test(webapp.RequestHandler):
def __init__(self, *p, **kw): # or whatever parameters this takes
webapp.RequestHandler.__init__(self, *p, **kw)
self.list = []
def get(self):
s = self.request.get('sentence')
self.list.append(s)
htmlcode1 = HTML.table(self.list)
Run Code Online (Sandbox Code Playgroud)