파이썬에는 다양한 내장 라이브러리가 있어 특정 작업을 쉽게 수행할 수 있습니다.
이 중에서도 math, datetime, random 모듈은 수학 연산, 날짜와 시간 처리, 랜덤 값 생성과 같은 작업에 유용하게 활용됩니다.
이번 글에서는 각 모듈의 주요 기능을 예제와 함께 살펴보겠습니다.
1. math 모듈 - 수학 연산
math
모듈은 수학 관련 함수와 상수를 제공하여, 복잡한 수학 계산을 쉽게 수행할 수 있도록 도와줍니다. 파이썬에서 import math
로 math 모듈을 불러와 사용할 수 있습니다.
1.1 주요 함수
math.sqrt(x)
: x의 제곱근을 반환math.pow(x, y)
: x의 y 제곱을 반환math.factorial(x)
: x의 팩토리얼을 반환math.ceil(x)
: x 이상의 가장 작은 정수를 반환math.floor(x)
: x 이하의 가장 큰 정수를 반환math.pi
: 원주율 π 값을 제공
예제 1: math 모듈 사용하기
import math
print("제곱근:", math.sqrt(16)) # 제곱근: 4.0
print("2의 3제곱:", math.pow(2, 3)) # 2의 3제곱: 8.0
print("5의 팩토리얼:", math.factorial(5)) # 5의 팩토리얼: 120
print("3.14의 올림:", math.ceil(3.14)) # 4
print("3.14의 내림:", math.floor(3.14)) # 3
print("원주율:", math.pi) # 3.141592653589793
위 코드에서는 sqrt
, pow
, factorial
, ceil
, floor
등의 함수와 pi
상수를 사용하여 수학 계산을 수행합니다.
2. datetime 모듈 - 날짜와 시간 처리
datetime
모듈은 날짜와 시간을 다루는 다양한 기능을 제공합니다. 주로 현재 날짜와 시간, 날짜 간 차이 계산 등에 유용하게 사용됩니다. import datetime
으로 불러올 수 있습니다.
2.1 주요 클래스 및 함수
datetime.datetime.now()
: 현재 날짜와 시간을 반환datetime.datetime(year, month, day)
: 특정 날짜와 시간을 생성date.strftime("%Y-%m-%d")
: 날짜 형식을 지정하여 문자열로 변환datetime.timedelta(days=1)
: 특정 일 수의 시간 간격을 나타냄
예제 2: datetime 모듈 사용하기
import datetime
# 현재 날짜와 시간
now = datetime.datetime.now()
print("현재 시간:", now)
# 특정 날짜 생성
specific_date = datetime.datetime(2023, 11, 15)
print("특정 날짜:", specific_date)
# 날짜 포맷 변환
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("포맷된 날짜:", formatted_date)
# 날짜 간격 계산
yesterday = now - datetime.timedelta(days=1)
print("어제 날짜:", yesterday)
위 코드에서는 현재 시간, 특정 날짜 생성, 날짜 포맷 변환, 날짜 간격 계산 등을 통해 datetime
모듈의 기능을 사용합니다.
3. random 모듈 - 난수 생성
random
모듈은 임의의 숫자, 리스트 내 임의의 요소를 선택하는 등 난수 생성과 관련된 다양한 기능을 제공합니다. 주로 게임, 시뮬레이션, 통계 작업 등에 사용됩니다.
3.1 주요 함수
random.random()
: 0.0에서 1.0 사이의 임의의 실수를 반환random.randint(a, b)
: a와 b 사이의 임의의 정수를 반환random.choice(sequence)
: 시퀀스(리스트, 문자열 등)에서 임의의 요소를 선택random.sample(sequence, k)
: 시퀀스에서 임의의 요소 k개를 선택하여 리스트로 반환random.shuffle(sequence)
: 시퀀스를 무작위로 섞음
예제 3: random 모듈 사용하기
import random
# 0.0과 1.0 사이의 임의의 실수 생성
print("임의의 실수:", random.random())
# 1과 10 사이의 임의의 정수 생성
print("임의의 정수:", random.randint(1, 10))
# 리스트에서 임의의 요소 선택
fruits = ["사과", "바나나", "체리"]
print("임의의 과일:", random.choice(fruits))
# 리스트에서 임의의 요소 2개 선택
print("임의의 과일 2개:", random.sample(fruits, 2))
# 리스트 무작위 섞기
random.shuffle(fruits)
print("섞인 과일 리스트:", fruits)
위 코드에서는 random
모듈을 사용하여 임의의 실수, 정수 생성, 리스트에서 임의의 요소 선택과 섞기 등의 작업을 수행합니다.
마무리
이번 글에서는 파이썬의 math
, datetime
, random
모듈을 사용하여 다양한 기능을 구현하는 방법을 살펴보았습니다.
수학 연산, 날짜 및 시간 처리, 랜덤 값 생성 등은 여러 프로그램에서 자주 사용되며, 이들 모듈을 통해 효율적으로 작업할 수 있습니다.
실습을 통해 각 모듈의 기능을 더욱 익혀보세요!