2017-03-29 1 views
-2

나는 다음과 같은 스크립트를 작성했습니다 :문자열과 정수 변수를 함께 인쇄하는 방법은 무엇입니까?

string="My name" 
age=19 
print(string +str(age)) 

을하지만 이것은라는 오류 제공 :

"str object is not callable". 

날 캐스트 및 인쇄하는 데 도움이 있습니다.

+0

정확한 코드인가요? 왜냐하면 그것은 당신이 원하는 것을 정확히 수행해야하기 때문입니다. – glibdud

+5

당신은'str' 어딘가에 할당했습니다. 'del str'을 먼저하고 다시 시도하십시오. –

+0

@ayhan 다음과 같이하십시오. http://stackoverflow.com/questions/30591182/how-to-fix-redefinition-of-str?noredirect=1&lq=1, 이미 투표를 끝내고 나서 할 수 없습니다. 오타로. –

답변

0

formatting strings을보십시오 : 당신이 뭔가 다른 기능 str에 내장 된 재 할당과 같은

print(f'{string} {age}')

+0

그 형식은 전에 보지 못했지만 귀하의 링크에 설명되어 있지 않습니다. – glibdud

+0

Python 3.6의 새로운 형식 문자열을 가장 최근의 Python 릴리스를 사용하지 않는 새로운 사용자에게 제안하는 것이 가장 좋은 생각이라고 생각합니다. –

+0

우리는 항상 새로운 사용자에게 python 2.7을 설치하고 이전 버전을 먼저 사용할 것을 제안 할 수 있습니다. 그러나 당신은 요점이 있습니다! – Butuzov

1

코멘트에 언급처럼, 그것은 보인다. 찾아서 제거하면 코드가 작동합니다.

python3에서 print() 함수는 ,으로 문자열을 분리하면 문자열에 인수를 캐스팅하려고 시도합니다. 여기에서 볼 수 있듯이 :

print(string, age) 

당신을 위해 문자열로 age 캐스팅됩니다.

0

여기에서 String.format 도울 수 있습니다.

print ("{0} {1}".format(string, age)) 

이 결과는 다음과 같이 인쇄됩니다.

My name 19 

이 방법을 사용하면 출력의 가독성을 향상시킬 수 있습니다.

print ("Name: {0} age: {1}".format(string, age) 

이렇게하면 다음과 같은 결과가 발생합니다.

Name: My Name age: 19 
관련 문제