如何将变量的值放入字符串中(将其插入字符串中)?

新手上路,请多包涵

我想将 int 放入 string 。这就是我目前正在做的事情:

 num = 40
plot.savefig('hanning40.pdf') #problem line

我必须为几个不同的数字运行程序,所以我想做一个循环。但是像这样插入变量是行不通的:

 plot.savefig('hanning', num, '.pdf')

如何将变量插入 Python 字符串?


另请参阅 如何连接 str 和 int 对象? 如果您尝试使用 + 将数字与字符串(或字符串之间等)连接并收到错误消息。

如果您尝试使用可变数据组装 URL, 请不要 使用普通的字符串格式,因为它容易出错并且比必要的更困难。有专门的工具可用。请参阅 在 Python 中将参数添加到给定的 URL

如果您尝试组合 SQL 查询, 请不要 使用普通的字符串格式,因为这是一个 重大的安全风险。这就是“SQL注入”的原因, 每年都会让实体公司花费巨额资金。例如,请参阅 Python:连接到 MySQL 并执行查询以获取适当技术的最佳实践和最安全 的方法。

原文由 Gish 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答
plot.savefig('hanning(%d).pdf' % num)

% 运算符在跟随字符串时,允许您通过格式代码(在本例中为 %d )将值插入该字符串。有关更多详细信息,请参阅 Python 文档:

printf -style 字符串格式

原文由 Amber 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 f 弦

 plot.savefig(f'hanning{num}.pdf')

这是在 3.6 中添加的,是新的首选方式。


使用 str.format()

 plot.savefig('hanning{0}.pdf'.format(num))


字符串连接:

 plot.savefig('hanning' + str(num) + '.pdf')


转换说明符

 plot.savefig('hanning%s.pdf' % num)


使用局部变量名(巧妙的技巧):

 plot.savefig('hanning%(num)s.pdf' % locals())


使用 string.Template

 plot.savefig(string.Template('hanning${num}.pdf').substitute(locals()))


也可以看看:

原文由 Dan McDougall 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题