표준 라이브러리(Standard Library)는 Python 설치 시 기본적으로 함께 제공되는 라이브러리 모음으로, 별도의 설치 없이 Python 코드에서 바로 사용할 수 있는 모듈과 패키지들을 의미합니다. 이 라이브러리들은 다양한 기능을 제공하여, 파이썬을 사용하는 개발자가 일반적인 프로그래밍 작업을 효율적으로 처리할 수 있게 도와줍니다.
표준 라이브러리의 특징:
- 내장 모듈: Python 설치 시 자동으로 포함되며, 별도의 설치가 필요하지 않습니다.
- 광범위한 기능: 파일 입출력, 네트워크 통신, 수학적 연산, 데이터 구조 관리, 운영체제 상호작용 등 다양한 범위의 기능을 제공합니다.
- 높은 호환성: Python의 버전에 맞춰 공식적으로 제공되며, Python 코드의 이식성을 높여줍니다.
- 안정성: Python 개발팀에 의해 지속적으로 관리되고, 안정성이 보장됩니다.
표준 라이브러리의 주요 역할:
- 기본 기능 제공: 간단한 파일 읽기/쓰기, 네트워크 작업, 문자열 조작 등의 작업을 쉽게 처리할 수 있는 도구를 제공합니다.
- 추가 설치 불필요: 일반적인 프로그래밍 작업에 필요한 많은 기능이 포함되어 있으므로, 외부 라이브러리를 추가 설치하지 않아도 됩니다.
- 일관성: 파이썬의 다른 버전이나 환경에서 동일하게 작동할 수 있도록 일관된 API를 제공합니다.
예시:
파이썬 표준 라이브러리를 사용하면 다음과 같은 작업들을 별다른 추가 설치 없이 쉽게 할 수 있습니다.
- 파일 입출력:
with open('example.txt', 'r') as file:
content = file.read()
- 날짜와 시간 처리:
import datetime
now = datetime.datetime.now()
print(now)
- URL 처리:
import urllib.request
response = urllib.request.urlopen('http://example.com')
html = response.read()
- 정규 표현식:
import re
pattern = re.compile(r'\d+')
result = pattern.findall('There are 123 apples and 456 oranges')
print(result) # ['123', '456']
Python 표준 라이브러리는 개발자의 요구를 충족하기 위해 다양한 기능을 제공하고 있으며, 이를 활용하면 별도의 라이브러리를 설치하지 않고도 대부분의 기본적인 프로그래밍 작업을 수행할 수 있습니다.
주요 표준 라이브러리 모듈을 기능별로 분류한 목록
Python 표준 라이브러리에는 다양한 모듈들이 포함되어 있어, 별도의 설치 없이 파이썬 코드를 작성할 때 유용하게 사용할 수 있습니다. 아래는 몇 가지 주요 표준 라이브러리 모듈을 기능별로 분류한 목록입니다.
1. 운영체제 관련 모듈
os: 운영체제와 상호작용, 파일 시스템 접근 sys: 파이썬 인터프리터와 상호작용, 명령줄 인자 처리 subprocess: 외부 프로세스 실행 및 관리 shutil: 파일 및 디렉토리 복사, 이동, 삭제
2. 파일 및 입출력 처리
io: 텍스트 및 바이너리 파일 입출력 csv: CSV 파일 읽기 및 쓰기 json: JSON 형식의 데이터 파싱 및 생성 pickle: 객체 직렬화 및 역직렬화
3. 데이터 처리 및 구조
collections: 고급 데이터 구조 (deque, Counter, OrderedDict 등) array: 고정 크기의 배열 생성 heapq: 힙 큐 알고리즘 bisect: 정렬된 리스트에 대한 이진 검색 및 삽입 queue: FIFO, LIFO 큐 객체 제공
4. 문자열 처리
re: 정규 표현식으로 문자열 검색 및 조작 string: 문자열 관련 상수 및 함수 textwrap: 긴 문자열 줄바꿈 처리 unicodedata: 유니코드 문자 데이터베이스 접근
5. 수학 및 통계
math: 수학 함수 (삼각 함수, 로그 등) cmath: 복소수 관련 수학 함수 statistics: 통계 함수 (평균, 중앙값, 표준편차 등) random: 임의의 수 생성 및 샘플링 fractions: 유리수 처리 decimal: 고정소수점 및 부동소수점 숫자 처리
6. 날짜 및 시간 처리
datetime: 날짜와 시간 조작 time: 시간 측정 및 조작 calendar: 연도 및 월의 달력 생성 zoneinfo: 시간대 관련 정보
7. 네트워크 및 인터넷 프로토콜
http.client: HTTP 클라이언트 통신 urllib: URL 처리 및 웹 요청 smtplib: 이메일 전송을 위한 SMTP 프로토콜 구현 ftplib: FTP 프로토콜 처리 socket: 네트워크 소켓 프로그래밍 ipaddress: IP 주소 처리
8. 멀티스레딩 및 병렬처리
threading: 멀티스레드 프로그래밍 multiprocessing: 멀티프로세싱 프로그래밍 concurrent.futures: 병렬 실행을 위한 스레드 및 프로세스 풀 asyncio: 비동기 I/O 프레임워크
9. 암호화 및 보안
hashlib: 해시 함수 및 메시지 다이제스트 hmac: 메시지 인증 코드 생성 ssl: SSL 및 TLS 통신 secrets: 암호화에 적합한 난수 생성
10. 테스트 및 디버깅
unittest: 단위 테스트 프레임워크 doctest: 문서 문자열에 포함된 예제를 테스트 pdb: 파이썬 디버거 traceback: 예외 추적 및 처리 timeit: 코드 성능 측정
11. 압축 및 파일 형식 처리
zipfile: ZIP 파일 처리 tarfile: TAR 파일 처리 gzip: GZIP 파일 처리 bz2: BZ2 파일 처리 lzma: LZMA 압축 파일 처리
12. GUI 프로그래밍
tkinter: 간단한 GUI 애플리케이션 작성 turtle: 그래픽 교육 도구로 사용되는 GUI 도구
13. 국제화
gettext: 다국어 지원을 위한 모듈 locale: 지역화 설정 처리
14. 데이터베이스 처리
sqlite3: 내장형 SQLite 데이터베이스와 상호작용
15. 이외의 유용한 모듈
functools: 고차 함수 및 함수 관련 도구 itertools: 반복 가능한 객체에 대한 함수들 제공 enum: 열거형 클래스 정의 contextlib: 컨텍스트 관리자를 간단히 생성 abc: 추상 클래스 정의 typing: 타입 힌팅을 위한 도구
요약
Python 표준 라이브러리는 운영체제와 상호작용, 데이터 구조, 파일 입출력, 수학 계산, 네트워킹, 문자열 처리 등 다양한 범용적인 작업을 처리할 수 있는 기능을 제공합니다. 이 라이브러리를 활용하면 대부분의 일반적인 프로그래밍 과제를 추가 설치 없이 해결할 수 있습니다.
'Python 연습 > 1. Python 설치와 실습 - 아나콘다' 카테고리의 다른 글
Q_01_16.기술통계량 관련 함수 - min, max, sum, len 등 (0) | 2025.03.20 |
---|---|
Q_01_17. 표준라이브러리 statistics 모듈사용 기술통계량 구하기 (0) | 2025.03.20 |
Q_01_14. 파이썬에서 함수, 모듈, 패키지, 라이브러리 란 무엇인가? (0) | 2025.03.20 |
Q_01_11. 파이썬에서 사용할 수 있는 내장함수 분류 (0) | 2025.03.20 |
Q_01_10. 파이썬에서 기본적으로 제공하는 내장함수에는 어떤 것이 있는가? (0) | 2025.03.20 |