回答:
plot.savefig('hanning(%d).pdf' % num)
%
オペレータは、文字列以下のときは、フォーマットコード(を介して、その文字列に値を挿入することができ%d
、この場合)。詳細については、Pythonのドキュメントをご覧ください。
https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting
ああ、多くの、多くの方法...
文字列の連結:
plot.savefig('hanning' + str(num) + '.pdf')
変換指定子:
plot.savefig('hanning%s.pdf' % num)
ローカル変数名の使用:
plot.savefig('hanning%(num)s.pdf' % locals()) # Neat trick
使用str.format()
:
plot.savefig('hanning{0}.pdf'.format(num)) # Note: This is the new preferred way
f-stringsの使用:
plot.savefig(f'hanning{num}.pdf') # added in Python 3.6
plot.savefig(string.Template('hanning${num}.pdf').substitute(locals()))
'foo %d, bar %d' % (foo, bar)
。
plot.savefig('hanning{num}s.pdf'.format(**locals()))
plot.savefig(f'hanning{num}.pdf')
。この情報で回答を追加しました。
Python 3.6 でフォーマットされた文字列リテラル(略して "f-strings")の導入により、より簡潔な構文でこれを記述できるようになりました。
>>> name = "Fred"
>>> f"He said his name is {name}."
'He said his name is Fred.'
質問の例では、次のようになります
plot.savefig(f'hanning{num}.pdf')
%
演算子はPython 3.1で廃止されていることに注意してください。新しい推奨方法は.format()
、PEP 3101で説明され、Dan McDougallの回答で述べられている方法を利用することです。