답변:
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- 문자열 사용 :
plot.savefig(f'hanning{num}.pdf') # added in Python 3.6
사용 string.Template
:
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')
%
연산자는 파이썬 3.1으로 사용되지 않습니다. 새로운 선호되는 방법은 PEP 3101.format()
에서 논의 되고 Dan McDougall의 답변에서 언급 된 방법을 이용하는 것입니다.