파이썬에서 당신이 있다고 말하십시오.
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}')