所以我正在使用 Web.py 并且我有以下代码:
check = db.select('querycode', where='id=$id', vars=locals())[0]
效果很好,它将 $id 替换为变量。但在这一行中它不起作用:
web.sendmail('mail@mail.mail', "tomail@tomail.tomail", 'Subject', 'Hello $name')
我做错了什么,它是如何工作的。另外我的概念是否正确:$ 符号替代变量?
最佳答案
@merlin2011 的回答解释得最好。
但只是为了补充它,因为你试图用变量名替换,python 还支持以下形式的“替换”(或字符串格式):
'Hello %(name)s' % locals()
或者限制命名空间:
'Hello %(name)s' % {'name': name}
编辑 自 python 3.6 起,变量替换是使用 f-strings native 完成的.例如,
print( f'Hello {name}' )
关于python - Python 中的变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447287/