Oh, the many, many ways…
String concatenation:
plot.savefig(‘hanning’ + str(num) + ‘.pdf’)
Conversion Specifier:
plot.savefig(‘hanning%s.pdf’ % num)
Using local variable names:
plot.savefig(‘hanning%(num)s.pdf’ % locals()) # Neat trick
Using str.format():
plot.savefig(‘hanning{0}.pdf’.format(num)) # Note: This is the preferred way since 3.6
Using f-strings:
plot.savefig(f’hanning{num}.pdf’) # added in Python 3.6
This is the new preferred way:
PEP-502
RealPython
PEP-536
Using string.Template:
plot.savefig(string.Template(‘hanning${num}.pdf’).substitute(locals()))
plot.savefig(‘hanning(%d).pdf’ % num)
The % operator, when following a string, allows you to insert values into that string via format codes (the %d in this case). For more details, see the Python documentation:
https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting