我在看这个site的代码,它是一个基本的google应用程序引擎计算器。我对GAE和HTML一样缺乏经验,所以当我看到下面的代码时,我有点困惑。主要是最后一行</html>""" % (result, buttons))
。%代表什么?它如何将结果和按钮与html代码联系起来?你知道吗
result = ""
try:
result = f[operator](x, y)
except ValueError:
result = "Error: Incorrect Number"
except ZeroDivisionError:
result = "Error: Division by zero"
except KeyError:
pass
# build HTML response
buttons = "".join(["<input type='submit' name='operator' value='"
+ o + "'>" for o in sorted(f.keys())])
self.response.out.write("""<html>
<body>
<form action='/' method='get' autocomplete='off'>
<input type='text' name='x' value='%s'/><br/>
<input type='text' name='y'/><br/>
%s
</form>
</body>
</html>""" % (result, buttons))
%
用于在Python中格式化字符串。请参见Dive Into Python中的好解释。在您的示例中,它们用于将“%s”字符替换为变量中的值。你知道吗修改示例:
您的示例的修改版本,硬编码值为
result
和buttons
。你知道吗将产生:
在您的示例中,按钮包含更多的Html,而格式字符串在值实际更改的上下文中更有意义,但上面应该说明基本原则。你知道吗
一个简单的例子:
代码如下:
将产生:
它与应用程序引擎的关系:
上面的两个例子都说
print
:这会将输出打印到“stdout”——您的控制台。你知道吗在您最初的示例中,它是
self.response.out.write
,这是告诉appengine将文本(即Html)写入浏览器的方式。你知道吗具体来说,如果你改变了:
收件人:
当您访问页面时,文本将显示在浏览器中,而不是显示在控制台上。你知道吗
参考文献:
Dive Into Python,上面链接的也是学习Python的好资源。如果你是Python新手,整本书都不错。就像Udacity课程一样。你知道吗
Python documentation on format strings是格式化字符串的好参考。你知道吗
这本书"Using Google App Engine"是一个很好的资源,可以同时学习Python、Html和appengine。我可以诚实地推荐它,我自己也读过。它很容易接近,但现在已经有几年的历史了。你知道吗
玩得开心!你知道吗
相关问题 更多 >
编程相关推荐