[프로그래밍 기초]에 관심이 있으신가요?
무제한으로 수강해 보세요!
코드잇 시작하기
2018 프로그래밍 시작하기>자료형>형 변환
2017년 4월 9일 작성
김지환김지환STONE

print(str(hello)) 는 왜 오류가뜨는건가요? print("hello") 와 같이 출력되어야하지않나요?

print(int("2")) 는 되는데 왜 저렇게는 안되는지 궁금합니다

print(hello) 가 안되니 저게 안되는건 이해가 가는데(print(str("hello")) 는 되니깐요) 컴퓨터입장에서 논리적인 이유를 알고 싶습니다.

왜 숫자는 자동으로 인식하는데 문자는 자동으로 인식이 안되는지요..

str은 어떤 자료형문자열로 형변환해주는 함수입니다.

int는 어떤 자료형정수형으로 형 변환해주는 함수입니다.

"2"는 문자열인데, int("2")는 문자열의 쌍따옴표를 없애주고 2라는 정수형의 결과값을 리턴해줍니다. 하지만 문자열이라고 해서 다 정수형으로 변환될 수 있는 것은 아닙니다. int("hello")는 변환할 수 없다고 오류가 나오겠죠.

세번째 단락부터 답변을 드리자며, "hello"는 문자열입니다. 때문에 str("hello")는 문자열을 문자열로 변환하라는 명령이기 때문에 불필요합니다. 즉 str("hello")나 그냥 "hello"나 같다는 이야기죠. 둘다 "hello"가 출력됩니다.

이제 첫 번째 단락에 대해 답변을 드리겠습니다. 다시 말씀드리자면, str은 어떤 자료형문자열로 형변환해주는 함수입니다. 그런데 hello는 문자열도 아니고 숫자형도 아니고 어떠한 자료형도 아닙니다. 이 때문에 str을 써서 문자열로 변환시킬 수가 없습니다. print(hello)만 해도 오류가 나오는 모습을 보면 이해하실 수 있으실 것입니다.

print(str(2))가 되는 이유는, 안에 있는 2가 숫자형이라는 자료형이기 때문에, 문자열로 변환이 될 수 있는 것입니다. 좋은 질문 감사합니다~

답변 깔끔하네요..

관련 질문
2018 프로그래밍 시작하기>자료형>형 변환
2019년 1월 15일 작성
박상훈박상훈
답변 441 조회
2018 프로그래밍 시작하기>자료형>형 변환
2016년 12월 14일 작성
이광섭이광섭
답변 128 조회
2018 프로그래밍 시작하기>자료형>형 변환
2018년 6월 19일 작성
변창성변창성
답변 130 조회