[python] 파이썬에서 문자열과 정수를 연결

파이썬에서 당신이 있다고 말하십시오.

s = "string"
i = 0
print s+i

당신이 쓸 수 있도록 오류를 줄 것입니다

print s+str(i) 

오류가 발생하지 않습니다.

나는 이것이 int와 string concatenation을 다루는 매우 서투른 방법이라고 생각합니다. Java조차도 이러한 종류의 연결을 수행하기 위해 String으로 명시 적으로 캐스팅 할 필요가 없습니다. 이런 종류의 연결을 수행하는 더 좋은 방법이 있습니까? 즉, 파이썬에서 명시 적으로 캐스팅하지 않습니까?



답변

최신 문자열 형식 :

"{} and {}".format("string", 1)


답변

문자열 형식이 없습니다 :

>> print 'Foo',0
Foo 0


답변

새로운 스타일의 .format()메서드를 사용하는 문자열 형식 (기본값은 .format ()에서 제공) :

 '{}{}'.format(s, i)

또는 더 오래되었지만 “여전히 붙어”- %포맷 :

 '%s%d' %(s, i)

위의 두 예제에서 연결된 두 항목 사이 에는 공간 이 없습니다 . 공간이 필요한 경우 단순히 형식 문자열로 추가 할 수 있습니다.

이것들은 항목을 연결하는 방법, 항목 사이의 간격 등에 대한 많은 제어 및 유연성을 제공 합니다. 형식 사양에 대한 자세한 내용 은이 내용을 참조하십시오 .


답변

파이썬은 흥미로운 언어인데, 주어진 작업을 수행 할 수있는 “명백한”방법이 일반적으로 있지만 유연성은 여전히 ​​존재합니다.

s = "string"
i = 0

print (s + repr(i))

위의 코드 스 니펫은 Python3 구문으로 작성되었지만 버전 3이 필수가 될 때까지 인쇄 후 괄호는 항상 허용됩니다 (선택 사항).

도움이 되었기를 바랍니다.

케이틀린


답변

format () 메소드를 사용하여 문자열과 정수를 연결할 수 있습니다

print(s+"{}".format(i))


답변

인쇄 만하고 싶다면이 작업을 수행 할 수 있습니다.

print(s , i)


답변

Python 3.6 이상에서는 다음과 같이 형식을 지정할 수 있습니다.

new_string = f'{s} {i}'
print(new_string)

또는 그냥 :

print(f'{s} {i}')