python - Python 中的变量替换

标签 python string web.py

所以我正在使用 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/

相关文章:

python - 从命令行(终端)启动 Pycharm

python - 类型错误 : 'data' is an invalid keyword argument for this function

c++ - 字符串类实现的差异

python - app.py 脚本中的几行我不明白

python - web.py 不会删除请求之间的停止

Python 检查列表是否嵌套

Python:获取文本中提及的最长匹配关键字

java - 在整个字符串中插入一个字符

java - 如何分割所需格式的字符串?

python - web.py todo list using sqlite invalid literal for int()