파이썬에서 데이터 타입을 변환하는 과정은 가장 기본적인 작업이며 정말 몰라서는 안되는 과정입니다. 특히 int()함수는 문자열과 다른 데이터타입을 정수로 변환하는 데 필수적인 하나의 도구인데요. 이글에서는 int함수의 기본적인 사용법부터 심화까지 알아보겠습니다.

파이썬 int() 함수의 기본

파이썬int기본

파이썬 내장함수 int()는 주로 숫자와 문자열을 정수로 변환할 때 사용되는데요. 이 함수는 데이터 변호나을 쉽게 처리할 수 있도록 합니다. 예를 들어서 문자열로 된 숫 자 ‘123’을 정수 123으로 변환할 수 있습니다.

# 문자열을 정수로 변환하는 예제
number_str = "123"
converted_number = int(number_str)
print(converted_number)  # 출력: 123

부도 소수점 역시 정수로 변환할 수 있는데요. 이경우는 소수점 이하는 단순히 제거됩니다.

# 부동 소수점 숫자를 정수로 변환하는 예제
float_number = 4.57
int_number = int(float_number)
print(int_number)  # 출력: 4

진법 변환 int함수 활용

파이썬int진법변

int()함수는 두 번째 인수로 진법을 설정해서 다양한 진법 문자열을 정수로 변환할 수 있는데요. 이는 2진수, 8진수, 16진수 등을 처리할 때 유용합니다.

# 2진수 문자열을 정수로 변환
binary_str = "1010"
decimal_number = int(binary_str, 2)
print(decimal_number)  # 출력: 10

# 16진수 문자열을 정수로 변환
hex_str = "1A"
decimal_number = int(hex_str, 16)
print(decimal_number)  # 출력: 26

이 기능을 통해서 우리는 다양한 진법으로 표현된 숫자를 손쉽게 정수로 변환할 수 있습니다.

문자열을 정수로 변환할 때 유의점

파이썬유의점

우리가 주로 문자열을 정수로 바꿀때 많이사용될 수 있는데요. 하지만 유의해야할 점들이 몇가지있습니다. 문자열에 올바른숫자 형식을 갖추지 않는다면 ‘ValueError’가 발생합니다.

# 올바른 숫자 형식의 문자열
valid_str = "789"
int_number = int(valid_str)
print(int_number)  # 출력: 789

# 올바르지 않은 숫자 형식의 문자열
invalid_str = "123abc"
try:
    int_number = int(invalid_str)
except ValueError as e:
    print(f"Error: {e}")  # 출력: Error: invalid literal for int() with base 10: '123abc'

이와 같이 예외상황을 처리하는 것은 코드의 안정성을 높입니다.

int() 함수의 예외 처리 및 다양한 데이터 타입

파이썬int예외처

int()함수 사용중 발생할 수 있는 예외를 처리하는 방법들을 알아보겠습니다. 보통 int()함수를 사용하는 데 많이 발생하는 에러는 크게 두가지로 나뉩니다. ‘ValueError’와 ‘TypeError’이렇게 두가지로 나뉘게됩니다.

ValueError 예외처리

아래의 코드는 ValueError를 예외 처리한 코드의 내용입니다.

# ValueError 예외 처리
invalid_str = "abc"
try:
    int_number = int(invalid_str)
except ValueError as e:
    print(f"ValueError: {e}")

TypeError 예외처리

아래의 코드는 TypeError를 예외 처리한 코드의 내용입니다. 아래를 참고하세요.

# TypeError 예외 처리
invalid_type = [1, 2, 3]
try:
    int_number = int(invalid_type)
except TypeError as e:
    print(f"TypeError: {e}")

또 int() 함수는 문자열과 부동 소수점 숫자외에도 다양한 데이터타입을 정수로 변환할 수 있습니다.

# Boolean 값을 정수로 변환
bool_true = True
bool_false = False
print(int(bool_true))  # 출력: 1
print(int(bool_false))  # 출력: 0

# 복소수 변환 시 TypeError 발생
complex_number = 1 + 2j
try:
    int_number = int(complex_number)
except TypeError as e:
    print(f"TypeError: {e}")  # 출력: TypeError: can't convert complex to int

파이썬 int() 함수 예제

파이썬int함수예제

다양한 상황을 우리는 int()함수를 활용해서 대처할 수 있습니다. 크게 3가지의 상황을 예를들어서 각 상황을 어떻게 int함수를 이용해서 대처하는지 알아보겠습니다.

입력받은 값을 정수로 변환하여 계산

user_age = input("Enter your age: ")
try:
    age = int(user_age)
    print(f"Next year, you will be {age + 1} years old.")
except ValueError:
    print("Invalid input: Please enter a valid number.")

파일에서 숫자 데이터 읽어오기

with open("numbers.txt", "r") as file:
    for line in file:
        try:
            number = int(line.strip())
            print(f"Read number: {number}")
        except ValueError:
            print(f"Invalid line: {line.strip()}")

웹 API에서 숫자 데이터 받아오기

import requests

response = requests.get("https://api.example.com/data")
data = response.json()

for item in data:
    try:
        number = int(item["value"])
        print(f"Converted value: {number}")
    except (ValueError, KeyError) as e:
        print(f"Error: {e}")

파이썬 int()함수 TIP

파이썬int TIP

우리가 사용하는 내장함수중에서 아마 제일 많이 쓸수도 있는 int함수 어떤 팁들이 있을까요? 우리는 int함수를 더욱더 효율적이고 안정적으로 코딩할 수 있게 유용한 팁들을 알아보도록 하겠습니다.

유효성 검사

사용자 입력이 정수로 변환이 가능한지 아닌지 사전에 검증으로 통해서 안정성을 높일 수 있습니다. 아래의 코드를 보겠습니다.

user_input = input("Enter a number: ")
if user_input.isdigit():
    number = int(user_input)
    print(f"Converted number: {number}")
else:
    print("Invalid input: Not a number")

try-except 활용하기

예외 처리를 하는 데 있어서 다양한 방법들이 있습니다. try-except 그 중하나로 예외를 처리하는데 도움을 주는 친구입니다. 아래의 코드를 보면서 어떻게 활용했는지 알아보겠습니다.

values = ["123", "456", "abc", "789"]
for value in values:
    try:
        number = int(value)
        print(f"Converted number: {number}")
    except ValueError:
        print(f"Cannot convert {value} to int")

정규 표현식 활용

복잡한 문자열에서 숫자부분만 추출해서 변환하는 방법입니다. 여기서 우리는 정규표현식을 활용할겁니다.

import re

string_with_numbers = "The price is 123 dollars"
match = re.search(r'\d+', string_with_numbers)
if match:
    number = int(match.group())
    print(f"Extracted number: {number}")
else:
    print("No numbers found in the string")

부동 소수점 처리

소수점을 버리는 대신에 반올림을 하여서 정수로 변환하는 방법으로 소수들을 버리는것이아닌 그 값조차 활용하는 과정입니다.

float_number = 45.67
int_number = int(round(float_number))
print(f"Rounded and converted number: {int_number}")

마무리

int 함수는 파이썬에서 데이터를 정수형으로 변환하는 데 아주 중요한 역할입니다. int()함수는 문자열, 부동소수점, 다양한 진법 등등을 숫자를 정수로 변환할 수 있습니다.

위에 다룬 다양한 활용들과 예제들을 통해서 int함수를 더욱더 효과적으로 활용할 수 있습니다. 파이썬 기초를 알아가는데 이런 함수 하나하나를 깊게 알아둔다면 정말 중요한 순간에 우리는 구글링을 할필요없이 바로바로 코딩할 수 있습니다.

Similar Posts