다른 많은 프로그래밍 언어와 달리 Python은 정수 (또는 부동 소수점)를 문자열에 연결할 때 암시 적으로 정수 (또는 부동 소수점)를 문자열로 형변환하지 않습니다.
다행히도 Python에는 str()
전달 된 인수를 문자열 형식으로 변환 하는 편리한 내장 함수 가 있습니다.
파이썬에서 문자열을 정수로 변환하는 잘못된 방법
다른 프로그래밍 언어에서 온 프로그래머는 다음 문자열 연결을 시도 할 수 있으며 이로 인해 오류가 발생합니다.
age = 18 string = "Hello, I am " + age + " years old"
repl.it에서이 코드를 실행할 수 있습니다.
표시되는 오류는 다음과 같습니다.
Traceback (most recent call last): File "python", line 3, in TypeError: must be str, not int
여기서는 TypeError: must be str, not int
정수가 연결되기 전에 먼저 문자열로 변환되어야 함을 나타냅니다.
파이썬에서 문자열을 정수로 변환하는 올바른 방법
다음은 간단한 연결 예입니다.
age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old
repl.it에서이 코드를 실행할 수 있습니다.
1 2 3 4 5 6 7 8 9 10
단일 문자열을 사용하여 인쇄하는 방법은 다음과 같습니다 .
result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10
repl.it에서 코드를 실행할 수 있습니다.
다음은 위 코드가 어떻게 작동하는지 한 줄씩 설명합니다.
- 우선 변수 'result'가 빈 문자열에 할당됩니다.
- for 루프는 숫자 목록을 반복하는 데 사용됩니다.
- 이 숫자 목록은 range 함수를 사용하여 생성됩니다.
- 따라서 range (1,11)은 1에서 10까지의 숫자 목록을 생성합니다.
- 각 for 루프 반복에서이 'i'변수는 1에서 10까지의 값을 차지합니다.
- 첫 번째 반복에서 변수 i = 1 일 때 [result = result + str (i) +“(공백 문자)”], str (i) 변수는 정수 값인 'i'를 문자열 값으로 변환합니다.
- i = 1 이후, 첫 번째 반복에서 마침내 result = 1입니다.
- 그리고 동일한 프로세스가 i = 10까지 계속되고 마지막 반복 결과 = 12 34 5 6 7 8 9 10 이후에 계속됩니다.
- 따라서 for 루프 이후에 최종적으로 결과를 인쇄하면 콘솔의 출력은 '1 2 3 4 5 6 7 8 9 10'입니다.
도움이 되었기를 바랍니다. 즐거운 코딩입니다.