파이썬 표준 라이브러리의 핵심 모듈들
파이썬의 가장 큰 강점 중 하나는 별도 설치 없이 바로 사용할 수 있는 방대한 표준 라이브러리입니다. 수학 계산부터 네트워크 통신, 데이터베이스 처리까지 대부분의 작업을 기본 제공 모듈만으로 해결할 수 있어 개발 생산성이 크게 향상됩니다.
그중에서도 실무에서 가장 자주 활용되는 유용한 표준 라이브러리 모듈들을 소개합니다.
1. math – 수학 연산의 기본
제곱근, 로그, 삼각함수, 팩토리얼 등 가장 기본적인 수학 함수를 제공하는 모듈입니다. 과학 계산이나 알고리즘 문제 해결 시 필수적으로 사용됩니다.
2. re – 정규 표현식
텍스트 검색, 치환, 패턴 매칭을 위한 강력한 정규 표현식 모듈입니다. 복잡한 문자열 처리 작업을 몇 줄의 코드로 해결할 수 있어 로그 분석, 데이터 클렌징에 특히 유용합니다.
3. datetime – 날짜와 시간 처리
날짜와 시간을 다루는 기본 라이브러리로, 날짜 차이 계산, 포맷 변환, 시간대(timezone) 처리까지 지원합니다. 일정 관리나 로그 타임스탬프 처리에 없어서는 안 될 모듈입니다.
4. json – JSON 데이터 처리
JSON과 파이썬 딕셔너리(dict) 간 변환, JSON 데이터 조작 등을 담당합니다. API 응답 처리나 설정 파일 관리에 거의 필수적으로 사용됩니다.
import json
data = json.loads('{"name": "Python"}')
print(data["name"]) # Python5. random – 의사 난수 생성
난수를 생성하거나 리스트에서 임의의 요소를 추출할 때 사용합니다. 게임 개발, 샘플링, 시뮬레이션 등 다양한 분야에서 활용됩니다.
6. os – 운영체제 인터페이스
파일·디렉터리 생성 및 삭제, 경로 조작, 환경 변수 접근 등 운영체제와 상호작용하는 기능을 제공합니다. 최근에는 이를 보완하는 pathlib 모듈도 함께 많이 사용됩니다.
7. copy – 얕은 복사와 깊은 복사
객체를 복사할 때 참조만 복사하는 얕은 복사(shallow copy)와 내부 객체까지 완전히 새로 만드는 깊은 복사(deep copy)를 지원합니다. 중첩된 자료구조를 다룰 때 실수를 방지하는 데 중요합니다.
8. sqlite3 – 경량 데이터베이스
파이썬에 내장된 SQLite 데이터베이스와 상호작용할 수 있는 모듈입니다. 서버 설치 없이 SQL을 사용할 수 있어 소규모 앱, 프로토타입, 테스트 환경 구축에 매우 편리합니다.
9. io – 스트림 처리
파일 입출력뿐 아니라 메모리 상의 문자열·바이트 스트림(StringIO, BytesIO)을 다룰 수 있습니다. 파일처럼 다루고 싶은 데이터를 메모리에서 처리할 때 유용합니다.
10. multiprocessing & threading – 병렬 처리
multiprocessing은 여러 프로세스를, threading은 여러 스레드를 생성해 동시 작업을 수행합니다. CPU 집약적 작업에는 멀티프로세싱, I/O 대기 작업에는 스레딩이 적합합니다.
11. urllib – URL 및 웹 요청 처리
URL을 다루고, 웹 요청을 보내고, 응답을 처리하는 기능을 제공합니다. 간단한 웹 스크래핑이나 API 호출을 외부 패키지 없이 구현할 수 있습니다.
12. http – HTTP 서버와 상태 관리
간단한 HTTP 서버를 생성하거나 쿠키 등 HTTP 상태를 관리할 수 있습니다. 테스트용 로컬 서버를 빠르게 띄울 때 특히 handy합니다.
13. locale – 국제화(i18n)
숫자, 날짜, 통화 형식 등을 지역 설정에 맞게 표시할 수 있어 다국어·다지역 서비스 개발 시 프로그램의 국제화를 지원합니다.
마무리
위 모듈들은 pip 설치 없이 import 한 줄로 바로 사용할 수 있다는 것이 가장 큰 장점입니다. 외부 라이브러리를 찾기 전에 먼저 표준 라이브러리에 필요한 기능이 있는지 확인하는 습관을 들이면, 더 가볍고 안정적인 코드를 작성할 수 있습니다.