본문 바로가기
Python 연습/1. Python 설치와 실습 - 아나콘다

Q_01_13. 파이썬 설치할 때, 설치되는 표준라이브러리에는 어떤 것이 있는가

by Python통컨 2025. 3. 20.

표준 라이브러리(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 표준 라이브러리는 운영체제와 상호작용, 데이터 구조, 파일 입출력, 수학 계산, 네트워킹, 문자열 처리 등 다양한 범용적인 작업을 처리할 수 있는 기능을 제공합니다. 이 라이브러리를 활용하면 대부분의 일반적인 프로그래밍 과제를 추가 설치 없이 해결할 수 있습니다.