🔥 파이썬 표준 라이브러리 활용하기

478자
6분

파이썬 표준 라이브러리는 파이썬에 기본적으로 내장된 모듈과 패키지의 집합입니다. 이 라이브러리는 다양한 목적의 프로그래밍 작업을 보다 쉽게 수행할 수 있도록 도와줍니다. 표준 라이브러리를 효과적으로 활용하는 것은 파이썬의 기초를 마스터하는 데 있어 필수적입니다. 이 장에서는 파이썬 표준 라이브러리의 여러 중요한 부분들을 살펴보고, 실제 예제를 통해 그 사용법을 익혀보겠습니다.

math 모듈: 수학적 연산 수행

math 모듈은 다양한 수학적 연산과 함수를 제공합니다. 이 모듈을 사용하여 복잡한 수학 계산을 쉽게 처리할 수 있습니다.

import math
 
print(math.sqrt(16))  # 제곱근 계산
print(math.pi)  # 파이 값
print(math.cos(math.pi))  # 코사인 함수
 
python

datetime 모듈: 날짜와 시간 다루기

datetime 모듈을 사용하면 날짜와 시간을 쉽게 다룰 수 있습니다. 이 모듈은 날짜와 시간을 생성, 조작, 연산하는 데 필요한 다양한 클래스와 함수를 제공합니다.

from datetime import datetime
 
now = datetime.now()
print(now)  # 현재 시간 출력
print(now.strftime("%Y-%m-%d %H:%M:%S"))  # 날짜와 시간을 문자열로 변환
 
python

collections 모듈: 컨테이너 데이터 타입

collections 모듈은 list, tuple, dict와 같은 기본 컨테이너 타입 외에 추가적인 컨테이너 데이터 타입을 제공합니다. 이를 통해 보다 복잡한 데이터 구조를 쉽게 다룰 수 있습니다.

from collections import Counter
 
cnt = Counter(['apple', 'banana', 'apple', 'orange'])
print(cnt)  # 각 요소의 출현 횟수를 세어줌
 
python

ossys 모듈: 시스템과 상호작용하기

ossys 모듈은 파이썬 스크립트가 운영체제와 상호작용하는 데 사용됩니다. 파일 시스템을 다루거나, 파이썬 인터프리터에 관련된 정보를 얻는 데 유용합니다.

import os
import sys
 
print(os.getcwd())  # 현재 디렉토리 위치
print(sys.platform)  # 실행 중인 시스템의 플랫폼 확인
 
python

json 모듈: JSON 데이터 처리

json 모듈을 사용하면 JSON 데이터를 쉽게 인코딩하거나 디코딩할 수 있습니다. 이는 웹 개발이나 데이터 교환에서 매우 유용합니다.

import json
 
data = {"name": "John", "age": 30}
json_string = json.dumps(data)  # Python 객체를 JSON 문자열로 변환
print(json_string)
 
new_data = json.loads(json_string)  # JSON 문자열을 Python 객체로 변환
print(new_data)
 
python

random 모듈: 난수 생성

random 모듈은 난수를 생성하는 데 사용됩니다. 이 모듈은 다양한 종류의 난수 생성 기능을 제공

하며, 게임 개발, 시뮬레이션, 테스팅 등에서 유용하게 사용됩니다.

import random
 
print(random.random())  # 0과 1 사이의 난수 생성
print(random.randint(1, 10))  # 1과 10 사이의 정수 난수 생성
 
python

http 모듈: HTTP 서비스 다루기

http 모듈은 HTTP 프로토콜을 사용하여 서버와 클라이언트 간 통신을 가능하게 합니다. 이 모듈을 사용하여 간단한 HTTP 서버를 구축하거나 클라이언트 요청을 처리할 수 있습니다.

from http.server import HTTPServer, BaseHTTPRequestHandler
 
class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        self.wfile.write(b'Hello, World!')
 
httpd = HTTPServer(('localhost', 8000), SimpleHTTPRequestHandler)
httpd.serve_forever()
 
python

연습문제

  1. math 모듈을 사용하여 원의 넓이를 계산하는 함수를 작성하세요. (원의 반지름을 인자로 받음)
  2. datetime 모듈을 활용하여 현재 시간과 일주일 후의 시간을 출력하는 스크립트를 작성하세요.
  3. collections 모듈의 defaultdict를 사용하여 문자열 내 각 문자의 출현 횟수를 계산하는 함수를 만드세요.
  4. os 모듈을 사용하여 현재 디렉토리에 있는 모든 파일과 디렉토리 목록을 출력하는 스크립트를 작성하세요.
  5. json 모듈을 사용하여 Python 객체를 JSON으로 변환하고, 이를 파일에 저장하는 예제를 만드세요.
  6. random 모듈을 사용하여 로또 번호(1부터 45까지의 숫자 중 6개를 무작위로 선택)를 생성하는 함수를 작성하세요.
  7. http 모듈을 활용하여 간단한 웹 서버를 구축하고, 클라이언트의 요청마다 현재 시간을 반환하는 예제를 만드세요.