240622 TIL #432 모듈 / 프로젝트

김춘복·2024년 6월 22일
0

TIL : Today I Learned

목록 보기
432/543
post-custom-banner

Today I Learned

오늘 공부한 내용은 모듈과 프로젝트!


모듈

다른 파이썬 스크립트에서 재사용할 수 있도록 구조화된 코드를 담고있는 파일

  • 프로그램을 모듈화하면 다른 프로그램에서 사용하기 쉽다.

  • 파이썬에서 모듈은 py파일을 의미한다.

  • 파이썬에서는 import 모듈명을 통해 모듈에서 정의한 것들을 재활용할 수 있다.

import random

p = random.randint(1,1000)
print(p) # 1~1000사이의 랜덤 int 출력
  • Alias(별칭)
    import numpy as np 처럼 as 별칭 으로 지정할 수 있다.

  • from 모듈명 import 함수(or class)로 모듈에서 특정함수나 클래스만 호출할 수 있다.

  • Built-in Modules
    파이썬의 기본 라이브러리. 별 조치 없이 import 문으로 바로 활용이 가능하다.

import random
import time
import urllib.request
import json

p = random.randint(1,1000)
print(p)

print(time.localtime()) # 현재시간 출력

url = "https://example.com"
# GET 요청 보내기
response = urllib.request.urlopen(url)
# 응답 받기
data = response.read()
# JSON 형식으로 파싱
user_data = json.loads(data)
print(user_data)

패키지

모듈을 모아놓은 단위. 하나의 프로그램. 여러 모듈을 포함하는 디렉터리(폴더)로 구성됨

  • __init__ , __main__ 등의 키워드 파일명이 사용된다.

  • 기능들을 세부적으로 나눠 폴더로 만들고 각 폴더별로 필요한 모듈을 구현한다.

  • 폴더별로 __init__.py를 구성해야 현재 폴더가 패키지로 간주된다.
    (3.3버전부터는 없어도 되지만 하위버전과의 호환을 위해 만든다)

  • __main__.py 파일은 해당 패키지를 패키지명으로 실행할 때 메인모듈로 사용된다.

  • 패키지 내에서 다른 폴더의 모듈을 부를 때 .하나만 쓰면 현재 디렉토리 기준이고, .. 두개를 쓰면 부모 디렉토리 기준이다.

from .render import render_test()
from ..sound.echo import echo_test()

패키지 관리 도구

  • 프로젝트 진행 시 오픈소스 라이브러리를 활용하기 위해 패키지 관리 도구를 이용해 다양한 패키지를 사용한다.

  • 대표적으로 virtualenv와 conda가 있다. 윈도우에서는 conda를 주로 쓴다.

  • conda 명령어

# 새로 가상환경 만들기(가상환경 이름과 파이썬 버전)
conda create -n my_project python=3.8

# 가상환경 호출
conda activate my_project

# 가상환경 해제
conda deactivate

# 패키지 설치
conda install 패키지명
profile
Backend Dev / Data Engineer
post-custom-banner

0개의 댓글