아래처럼 코드 작성 후 실행시켜보면 정상적으로 동작하지 않습니다.

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

그 이유는 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'>

출력해서 확인해보면 num_char는 정수형이라고 나옵니다. 정수형에 문자열 형식을 추가하는 것은 불가능하기 때문에 형식 오류가 발생했습니다.

num_char = len(input("What is your name?"))
print("Your name has" + num_char + "characters.")

위에서 확인한 것과 같이 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.")

a 변수에 123을 선언하고 type을 확인해보면 정수형인 것을 알 수 있습니다.

a = 123
print(type(a))

하지만 123을 문자열로 변환하고 다시 확인해보면 a는 문자열이라고 나옵니다.

a = str(123)
print(type(a))