我想将 int
放入 string
中。这就是我现在正在做的事情:
num = 40
plot.savefig('hanning40.pdf') #problem line
我必须为几个不同的数字运行该程序,所以我想做一个循环。但是像这样插入变量是行不通的:
plot.savefig('hanning', num, '.pdf')
如何将变量插入 Python 字符串?
<小时/>另请参阅
如果您尝试创建文件路径,请参阅 How can I create a full path to a file from parts (e.g. path to the folder, name and extension)?以获得额外的技术。使用专门用于创建路径的代码通常会更好。
如果您尝试用可变数据组装 URL,不要使用普通的字符串格式,因为它很容易出错并且比必要的更加困难。可以使用专门的工具。请参阅Add params to given URL in Python .
如果您尝试组合 SQL 查询,不要使用普通字符串格式,因为这是一个重大安全风险。这就是“SQL注入(inject)”的原因costs real companies huge amounts of money every year 。例如,参见How to use variables in SQL statement in Python?正确的技术。
如果您只想打印
(输出)字符串,您可以先这样准备,或如果您不需要该字符串其他任何内容,请使用对 print
的一次调用单独打印输出的每个部分。请参阅How can I print multiple things (fixed text and/or variable values) on the same line, all at once?有关这两种方法的详细信息。
最佳答案
使用f-strings :
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()))
<小时/>
另请参阅:
关于python - 如何将变量的值放入字符串中(将其插入字符串中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55318202/