파이썬 기초 – 4장. 수치 자료형

오늘은 파이썬의 자료형 중 하나인 수치 자료형에 대해 포스팅하겠습니다.
파이썬 자료형에 대한 전반적인 내용을 지난 포스팅을 참고하시기 바랍니다.

파이썬 기초 – 1장. 객체, 변수, 자료형

1. 수치 자료형의 종류

수치자료형은 크게 정수, 부동소수점, 복소수형이 있습니다. 일반적으로 정수형과 부동 소수점형을 많이 사용하며, 공학 등의 분야에서복소수형도 사용 됩니다. 종류 및 예시는 아래 표를 참조하시기 바랍니다.

자료형설명예시
정수형 (int)소수점 없이 표현되는 숫자42, -17
부동소수점형 (float)소수점을 포함하는 숫자3.14, -0.5
복소수형 (complex)실수 부분과 허수 부분으로 구성된 숫자2+3j, -1-4j

2. 수치연산

파이썬의 수치 자료형은 다양한 연산을 지원합니다. 덧셈, 뺄셈, 곱셈, 나눗셈은 물론, 제곱근이나 로그 등 다양한 수학 함수를 활용할 수 있습니다. 아래의 예시코드를 작성해 보시기 바랍니다.

아래의 예시에서 눈여겨 볼 부분은 곱셈/나눗셈 연산에서 int형과 float형이 연산 되었을 때입니다. 이럴 경우 결과는 float형으로 반환 되는 것을 알 수 있습니다.

# 덧셈 연산
x = 5
y = 3
sum_result = x + y
print("덧셈 결과:", sum_result)  # 출력: 덧셈 결과: 8

# 곱셈 연산
a = 2.5
b = 4
mul_result = a * b
print("곱셈 결과:", mul_result)  # 출력: 곱셈 결과: 10.0

# 나눗셈 연산
c = 10
d = 3
div_result = c / d
print("나눗셈 결과:", div_result)  # 출력: 나눗셈 결과: 3.3333333333333335

# 제곱 연산
base = 2
exponent = 3
power_result = base ** exponent
print("제곱 결과:", power_result)  # 출력: 제곱 결과: 8

3. 변환과 캐스팅

코딩을 하다 보면 자료형을 변환 해야 할 경우가 생깁니다. 파이썬에서는 int(), float(), complex() 등의 함수를 사용하여 자료형을 변환할 수 있습니다. 기본적인 형태는 변경하려는 자료형으로 원한는 인수를 감싸면 됩니다.

float()을 int()로 변환 시 소수점 아래의 수는 버림 처리 되며, 세번째와 네번째 예시를 주의해서 보면 숫자료 표현되어 있어도 해당 자료형이 문자형일 수도 있다는 것을 알 수 있습니다. 빈번히 실수 할 수 있는 부분이니 주의하여 보시기 바랍니다.

# 정수형을 부동소수점형으로 변환
int_value = 5
float_value = float(int_value)
print("정수를 부동소수점으로 변환:", float_value)  # 출력: 정수를 부동소수점으로 변환: 5.0

# 부동소수점형을 정수형으로 변환
float_num = 3.7
int_num = int(float_num)
print("부동소수점을 정수로 변환:", int_num)  # 출력: 부동소수점을 정수로 변환: 3

# 문자열을 정수형으로 캐스팅
str_number = "10"
int_number = int(str_number)
print("문자열을 정수로 캐스팅:", int_number)  # 출력: 문자열을 정수로 캐스팅: 10

# 정수형을 문자열로 캐스팅
integer = 25
str_integer = str(integer)
print("정수를 문자열로 캐스팅:", str_integer)  # 출력: 정수를 문자열로 캐스팅: "25"

4. 내장 함수 활용

파이썬은 수치 데이터 처리를 위한 다양한 내장 함수를 제공합니다. abs(), round(), min(), max() 등을 활용하여 데이터를 다룰 수 있습니다. 일반적인 수학관련 함수가 제공 되며, 자주 사용하는 내장함수는 아래와 같습니다.

내장 함수설명예시 코드
abs(x)숫자의 절대값을 반환abs(-7) 결과: 7
max(iterable)최댓값을 반환max([3, 1, 4, 1, 5, 9, 2]) 결과: 9
min(iterable)최솟값을 반환min([3, 1, 4, 1, 5, 9, 2]) 결과: 1
round(x, n)소수를 반올림하여 n자리까지 반환round(3.141592, 2) 결과: 3.14
# 절대값 계산
num = -7
abs_value = abs(num)
print("절대값:", abs_value)  # 출력: 절대값: 7

# 최댓값과 최솟값 계산
numbers = [3, 1, 4, 1, 5, 9, 2]
max_value = max(numbers)
min_value = min(numbers)
print("최댓값:", max_value)  # 출력: 최댓값: 9
print("최솟값:", min_value)  # 출력: 최솟값: 1

# 반올림
decimal = 3.141592
rounded = round(decimal, 2)
print("소수 반올림:", rounded)  # 출력: 소수 반올림: 3.14

5. math 모듈의 활용

기본 내장함수에서 제공하지 못하는 복잡한 연산 math 모듈을 통해 별도로 지원합니다. 자주 사용하는 함수는 아래와 같습니다. 아래 표 이외에도 너무나 많은 기능이 있기 때문에 외우기 보다는 필요한 연산이 있을 경우 검색을 통해 찾아가며 코딩을 하시면 됩니다.

함수 이름설명
math.ceil(x)주어진 숫자보다 크거나 같은 가장 작은 정수 반환
math.floor(x)주어진 숫자보다 작거나 같은 가장 큰 정수 반환
math.sqrt(x)주어진 숫자의 제곱근 반환
math.exp(x)지수 함수 e^x 반환
math.log(x)자연 로그 (밑이 e) 반환
math.log10(x)상용 로그 (밑이 10) 반환
math.sin(x)주어진 각도의 사인 값 반환
math.cos(x)주어진 각도의 코사인 값 반환
math.tan(x)주어진 각도의 탄젠트 값 반환
math.radians(x)각도를 라디안으로 변환하여 반환
math.degrees(x)라디안을 각도로 변환하여 반환
math.pi원주율(π) 값
math.e자연 상수 e 값

math 모듈 사용시에는 아직 공부하지는 않았지만, 앞부분에 관련 모듈을 import 해주어야 하며, 사용할때에는 math.을 표기하여 해당 메소드를 활용합니다. 아래의 예시를 참고하시기 바랍니다.

import math

# 제곱근 계산
num = 25
sqrt_result = math.sqrt(num)
print("제곱근:", sqrt_result)  # 출력: 제곱근: 5.0

# 로그 계산
x = 100
log_result = math.log(x, 10)
print("로그:", log_result)  # 출력: 로그: 2.0

# 삼각함수 계산
angle = math.radians(45)
sin_value = math.sin(angle)
cos_value = math.cos(angle)
print("사인 값:", sin_value)  # 출력: 사인 값: 0.7071067811865475
print("코사인 값:", cos_value)  # 출력: 코사인 값: 0.7071067811865476

데이터 분석을 공부하다 보면, math 모듈 이외에도 NumPy, Pandas 등 수치자료형을 처리할 수 있는 다양한 Library를 공부할 예정입니다. 그때를 위해서 기본적인 자료형과 모듈 사용법을 잘 익혀주시기 바랍니다!

데이터 분석시 많은 빈번하게 마주하는 데이터는 수치 자료형 입니다. 형태변환, 소숫점 처리, 수치 자료형 처럼 보이는 문자 자료형의 처리 등 간단하면서도 주의가 많이 필요합니다.

다음 포스팅에서는 문자 자료형에 대해 알아보도록 하겠습니다.
감사합니다. “끝”

Leave a Comment