以下是相关代码段:
class MainPage(webapp2.RequestHandler):
def write_form(self,text=""):
self.response.out.write(form%{"text":escape_html(text)}) #form is a html form
def get(self):
self.write_form()
def post(self):
user_input = self.request.get('text') #from a html form
encode = user_input.encode('rot13')
self.write_form(encode)
定义 write_form 时,我们将 text 的默认值设置为空字符串,我理解这一点。
我感到困惑的是最后一行self.write_form(encode)
我们没有明确说明我们现在将变量文本设置为编码(或我们想要传递的任何内容......)。
这是否意味着由于我们只有一个变量(不包括自我),所以我在 python 中传递的任何内容都会假定它是我为“文本”传递的内容?
提前致谢
更新
使用 jamylak 的答案,我在简化版本中为自己尝试了它(python 2.7,因为我不使用 3)来得到我的答案。对于像我这样的 n00bs,这可能会使答案更加清晰:
def example(result="42"):
print result
example()
>>>42
example(87)
>>>87
example("hello")
>>>"hello"