나는 넣어 싶습니다 int
에 string
. 이것이 내가 지금하고있는 일입니다.
num = 40
plot.savefig('hanning40.pdf') #problem line
몇 가지 다른 숫자로 프로그램을 실행해야하므로 루프를 수행하고 싶습니다. 그러나 다음과 같이 변수를 삽입하면 작동하지 않습니다.
plot.savefig('hanning', num, '.pdf')
파이썬 문자열에 변수를 어떻게 삽입합니까?
답변
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()))
답변
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')
답변
게시 한 모든 코드가 정확히 무엇인지 확실하지 않지만 제목에 제기 된 질문에 대답하기 위해 str을 일반적인 문자열 연결 함수로 +를 사용할 수 있습니다.
"hello " + str(10) + " world" = "hello 10 world"
희망이 도움이됩니다!
답변
일반적으로 다음을 사용하여 문자열을 만들 수 있습니다.
stringExample = "someString " + str(someNumber)
print(stringExample)
plot.savefig(stringExample)
답변
문자열에 여러 값을 넣고 싶다면 사용할 수 있습니다 format
nums = [1,2,3]
plot.savefig('hanning{0}{1}{2}.pdf'.format(*nums))
문자열이 hanning123.pdf
됩니다. 이것은 모든 배열로 수행 할 수 있습니다.
답변
확장 버전이 필요했습니다. 문자열에 단일 숫자를 포함시키는 대신 ‘file1.pdf’, ‘file2.pdf’형식의 일련의 파일 이름을 생성해야했습니다. 일했다 :
['file' + str(i) + '.pdf' for i in range(1,4)]