python

15편 Python 기초 문법: 외부 라이브러리 사용하기

파이썬 티쳐 2024. 11. 19. 09:47

1. 외부 라이브러리 설치와 관리

1.1 패키지 관리 시스템(PIP) 소개

PIP는 Python의 패키지 관리 시스템으로, 외부 라이브러리를 설치하고 관리할 수 있습니다. PIP를 사용하면 Python 패키지 인덱스(PyPI)에서 필요한 라이브러리를 쉽게 다운로드하여 설치할 수 있습니다.

1.2 라이브러리 설치 방법 (pip install)

pip install requests

1.3 설치된 라이브러리 확인 및 업데이트 (pip list, pip install --upgrade)

pip list  # 설치된 라이브러리 목록 확인
pip install --upgrade requests  # requests 라이브러리 최신 버전으로 업데이트

1.4 가상 환경 설정 (venv)과 활용법

가상 환경은 프로젝트마다 독립적인 Python 환경을 제공하여 라이브러리 충돌을 방지하고, 각 프로젝트에 맞는 의존성을 관리할 수 있습니다.

python -m venv myenv  # 가상 환경 생성

# 가상 환경 활성화
# Windows:
myenv\Scripts\activate
# macOS/Linux:
source myenv/bin/activate

# 가상 환경 비활성화
deactivate

2. 자주 사용하는 외부 라이브러리

2.1 requests 라이브러리를 사용한 HTTP 요청

requests 라이브러리는 Python에서 HTTP 요청을 쉽게 처리할 수 있도록 도와줍니다.

import requests

response = requests.get("https://api.github.com")
print(response.status_code)  # 출력: 200 (성공)
print(response.text)  # API 응답 내용 출력

2.2 beautifulsoup4 라이브러리를 사용한 웹 크롤링

beautifulsoup4는 웹 페이지의 HTML을 분석하여 필요한 데이터를 추출하는 데 사용됩니다.

from bs4 import BeautifulSoup
import requests

url = "https://www.example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

titles = soup.find_all("h1")
for title in titles:
    print(title.get_text())

2.3 numpy 라이브러리를 활용한 수치 계산

numpy는 수치 계산과 배열 처리를 위한 라이브러리로, 과학적 계산과 다차원 배열 연산을 간단하게 수행할 수 있습니다.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr + 10)  # 출력: [11 12 13 14 15]

3. 외부 라이브러리를 활용한 간단한 프로젝트

3.1 requestsbeautifulsoup4를 사용한 웹 크롤러 만들기

다음 프로그램은 웹 페이지에서 특정 정보를 추출하는 간단한 웹 크롤러입니다.

import requests
from bs4 import BeautifulSoup

def crawl_titles(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, "html.parser")
    titles = soup.find_all("h2")

    for title in titles:
        print(title.get_text())

# 웹 사이트에서 제목(h2)을 크롤링
crawl_titles("https://news.ycombinator.com/")

3.2 numpy를 사용한 통계 계산 프로그램

다음 프로그램은 numpy를 사용하여 데이터의 평균, 중앙값, 표준 편차를 계산합니다.

import numpy as np

def calculate_statistics(data):
    mean = np.mean(data)
    median = np.median(data)
    std_dev = np.std(data)
    
    print(f"평균: {mean}")
    print(f"중앙값: {median}")
    print(f"표준 편차: {std_dev}")

# 예시 데이터
data = [10, 20, 30, 40, 50]
calculate_statistics(data)