Skip to content

예제와 함께 파이썬 문자열을 정수로 변환하기

파이썬은 다양한 데이터 유형을 처리하기 위한 내장 함수와 기능을 제공하는 다재다능한 프로그래밍 언어입니다. 파이썬 프로그래밍에서 자주 발생하는 시나리오 중 하나는 문자열을 정수나 다른 데이터 유형으로 변환하는 것입니다. 이 글에서는 type casting, 내장 함수, 오류 처리 기술을 사용하여 파이썬에서 문자열을 효과적으로 정수로 변환하는 방법을 살펴볼 것입니다.

파이썬 판다스 데이터프레임에서 쉽게 데이터 시각화를 만들고 싶다면?

PyGWalker는 시각화와 함께 탐색적 데이터 분석을 위한 파이썬 라이브러리입니다. PyGWalker (opens in a new tab)를 사용하면 pandas 데이터프레임(for polars using)을 Tableau 스타일의 사용자 인터페이스로 변환하여 데이터 분석 및 시각화 작업 흐름을 단순화할 수 있습니다.

PyGWalker로 데이터 시각화하기 (opens in a new tab)

파이썬에서 Type Casting이란 무엇인가요?

Type casting은 한 데이터 유형을 다른 유형으로 변환하는 것을 말합니다. 파이썬에서는 문자열, 정수 및 부동소수점 수와 같은 데이터 유형을 내장 함수를 사용하여 변환할 수 있으며, 이를 통해 데이터 유형의 조작 및 변환을 단순화할 수 있습니다. 이것은 수학 연산을 수행하거나 사용자 입력을 처리하거나 데이터 구조를 다룰 때 필수적입니다.

파이썬에서 문자열을 정수로 변환하기

파이썬에서는 int() 함수를 사용하여 문자열을 정수로 변환합니다. 이 내장 함수는 문자열을 받아들이고, 문자열이 유효한 숫자를 포함하고 있다면 해당 숫자의 정수 표현을 반환합니다. 예를 들어:

string_num = "42" int_num = int(string_num) print(int_num)  # Output: 42

그러나 문자열에 숫자가 아닌 문자나 선행 0이 포함되어 있다면, 성공적인 변환을 보장하기 위해 추가적인 기술을 사용해야 할 수 있습니다.

파이썬에서 모든 데이터 유형을 서로 변환할 수 있나요?

파이썬에서는 모든 데이터 유형이 직접적으로 서로 변환될 수 있는 것은 아닙니다. 예를 들어 리스트를 정수로, 부울을 부동소수점 수로 직접 변환할 수 없습니다. 그러나 원하는 결과를 얻기 위해 중간적인 변환을 사용할 수 있습니다. 이를 위해 파이썬은 str(), float(), bool()와 같은 데이터 유형 변환을 위한 여러 개의 내장 함수를 제공합니다.

파이썬에서 다른 데이터 유형 변환을 위한 내장 함수

파이썬은 다양한 데이터 유형 간 변환을 위해 여러 내장 함수를 제공합니다:

  • float(): 숫자나 문자열을 부동소수점 수로 변환합니다.
  • bool(): 값을 부울로 변환합니다.
  • str(): 값을 문자열로 변환합니다.

문자열에서 정수로 변환하는 오류 처리 기술

Python에서 문자열을 정수로 변환할 때, 잠재적인 오류를 우아하게 처리하는 것이 필수적입니다. 하나의 접근 방법은 예외를 캐치하고 변환 오류 발생 시 사용자 정의 동작을 정의할 수 있는 try-except 블록을 사용하는 것입니다. 예를 들어:

문자열_숫자 = "42a"

try:
    정수_숫자 = int(문자열_숫자)
except ValueError:
    정수_숫자 = None
    print("잘못된 입력")

print(정수_숫자)  # 출력: None

Python에서 선행하는 0을 가진 문자열을 정수로 변환

선행하는 0을 가진 문자열을 정수로 변환하려면, 간단히 int() 함수를 사용하면 됩니다.

문자열_숫자 = "0042"
정수_숫자 = int(문자열_숫자)
print(정수_숫자)  # 출력: 42

int() 함수는 자동으로 선행하는 0을 제거하고 문자열을 정수 표현으로 변환합니다. 그러나 출력에서 선행하는 0을 유지해야 하는 경우, 정수를 str.zfill() 메소드를 사용하여 지정된 문자 수로 문자열로 변환할 수 있습니다.

문자열_숫자 = "0042"
정수_숫자 = int(문자열_숫자)
출력_문자열 = str(정수_숫자).zfill(4)
print(출력_문자열)  # 출력: "0042"

Python에서 사전(Dictionary)에서 문자열을 정수로 변환

사전(Dictionary)을 다루는 경우, 문자열 값을 정수로 변환해야 하는 상황이 발생할 수 있습니다. 새로운 사전에 변환된 값을 함께 생성할 수 있는 딕셔너리 적합성을 활용하는 방법이 있습니다.

입력_사전 = {'a': '42', 'b': '12', 'c': '7'}
 
출력_사전 = {: int(값) for,in 입력_사전.items()}
print(출력_사전)  # 출력: {'a': 42, 'b': 12, 'c': 7}

변환 과정에서 발생할 수 있는 잠재적인 오류를 처리해야 하는 경우, 딕셔너리 내부의 try-except 블록을 활용할 수 있습니다.

입력_사전 = {'a': '42', 'b': '12', 'c': '7', 'd': '잘못된'}
 
출력_사전 = {: (int(값) if.isdigit() else None) for,in 입력_사전.items()}
print(출력_사전)  # 출력: {'a': 42, 'b': 12, 'c': 7, 'd': None}

int() 함수를 사용하지 않고 Python에서 문자열을 정수로 변환

어떤 경우에는 int() 함수를 사용하지 않고 문자열을 정수로 변환해야 하는 경우도 있습니다. 문자의 유니코드 코드 지점을 반환하는 ord() 함수와 루프를 사용하여 문자열의 정수 값을 계산할 수 있습니다.

문자열_숫자 = "42"
 
정수_숫자 = 0
for 문자 in 문자열_숫자:
    정수_숫자 = 정수_숫자 * 10 + (ord(문자) - ord('0'))
 
print(정수_숫자)  # 출력: 42

오류나 경계 조건을 처리하지 않으므로 가능한 경우 int() 함수를 사용하는 것이 좋습니다.

결론

Python에서 문자열을 정수로 변환하는 것은 타입 캐스팅, 내장 함수인 int()로 처리하거나 오류 처리 기술을 사용하여 일반적으로 수행하는 공통 작업입니다. 이러한 메서드를 이해하고 관련 주제를 탐색함으로써 Python 프로그래밍과 데이터 유형 조작에 더욱 숙련된 개발자가 될 수 있습니다.

Python 및 유형 변환에 대한 지식을 더욱 확장하려면, Python 버전 확인하는 방법, Python 스크립트 실행하는 방법Python 학습 시간과 같은 다른 가이드를 살펴보시기 바랍니다.