///
Search
🧿

형식 오류와 형식 확인, 그리고 형 변환

아래처럼 코드 작성 후 실행시켜보면 정상적으로 동작하지 않습니다.
num_char = len(input("What is your name?")) print("Your name has" + num_char + "characters.") Waht is your name?david Traceback (most recent call last): File "[main.py](http://main.py/)", line 2, in <module> print("Your name has" + num_char + "characters.") TypeError: can only concatenate str (not "int") to str
Python
복사
그 이유는 TypeError인데 concatenate 즉 문자열을 연결하는데 있어서 num_char tyep이 int 형태가 아니기 때문에 에러가 발생했습니다.
저희는 앞서서 type 함수를 배웠으니 활용해 보겠습니다.
num_char = len(input("What is your name?")) print(type(num_char)) Waht is your name?david <class 'int'>
Python
복사
출력해서 확인해보면 num_char는 정수형이라고 나옵니다. 정수형에 문자열 형식을 추가하는 것은 불가능하기 때문에 형식 오류가 발생했습니다.
num_char = len(input("What is your name?")) print("Your name has" + num_char + "characters.")
Python
복사
위에서 확인한 것과 같이 num_char는 정수형이기 때문에 문자열로 변경해서 코드가 깨지지 않게 하려면 str 함수를 이용해서 문자열로 변환할 수 있습니다.
num_char = len(input("What is your name?")) new_num_char = str(num_char) print("Your name has" + new_num_char + "characters.")
Python
복사
a 변수에 123을 선언하고 type을 확인해보면 정수형인 것을 알 수 있습니다.
a = 123 print(type(a))
Python
복사
하지만 123을 문자열로 변환하고 다시 확인해보면 a는 문자열이라고 나옵니다.
a = str(123) print(type(a))
Python
복사
또 다른 예제로 변수 a를 float 함수를 사용해서 변환하면 a는 부동 소수 형태로 바꿀 수도 있습니다.
a = float(123) print(type(a))
Python
복사