Python 프로그램 계층 구조

(2026-02-13)

파이썬 프로그램 계층 구조, pip, 파이썬 모듈, 모듈


1. Python 프로그램 계층 구조파이썬은, 작은 단위가 모여 큰 시스템을 이루는, 체계적인 구조를 가짐
     - 라이브러리 > 패키지 > 모듈 > 문장 > 표현식 > 객체라이브러리 (Library)  :  여러 패키지모듈을 묶어 놓은 최상위 집합
     - 例) PSL(표준 라이브러리) 등
     * 파이썬 표준 라이브러리 (Python Standard Library, PSL)
        . 파이썬 설치 시 기본으로 제공되는, 모듈함수 집합패키지 (Pakage)  :  모듈디렉토리(폴더) 구조로 조직화한 것
     - 例) __init__.py 포함 (버전별 상이)
  ㅇ 모듈 (Module)  :  유용한 변수,함수,클래스들을 모아놓은 .py 파일
     - 코드 재사용의 단위문장 (Statement)  :  실행 가능한 코드의 최소 독립 단위
     - 例) if, for, def 등
  ㅇ 표현식 (Expression)  :  값을 계산하여 결과를 내는 코드
     - 例) 1 + 2, func() 등
  ㅇ 객체 (Object)  :  메모리에 할당된 데이터 실체
     - 사실상, 파이썬의 모든 것이 객체임

  ※ [참고] ☞ 파이썬 표준 라이브러리 (파이썬 홈페이지)


2. 모듈 관리모듈 : 유용한 변수,함수,클래스들을 모아놓은 집합체 (스크립트 파일)

  ㅇ def를 사용하여 정의됨
     - def가 실행되면, 함수객체 및 참조가 함께 생성됨

  ㅇ 주요 내장 모듈 例)
     - collections : 기본 파이썬 자료형(list, tuple, dict)들 보다 좀더 확장된 대안 기능을 제공 
        . (Counter, deque, defaultdict, namedtuple, OrderdDict)
        . 표와 인덱싱 같은 데이터를 다룰 때 유용
     - datetime : 날짜,시간 형식과 관련된 기능들을 다룸
     - math : 수학과 관련된 기능들을 다룸 (특히, 실수연산)
        . pi,sqrt(),sin(),cos(),exp(),ceil(),floor(),log2() 등 
     - os : 운영체제와 관련된 기능들을 다룸
     - random : 랜덤 값 생성
        . choice(), randrange(), randint() 등
        . 例) random.randint(0,10) => 0,10 포함 범위에서 임의 정수 하나 출력
        . 例) random.uniform(1.5,9.5) => 1.5~9.5에서 균등하게 분포된 난수 소수 하나 출력 
     - re : 정규표현식을 다룸                                    ☞ 파이썬 정규표현식 참조
        . match(),search(),findall(),finditer(),sub() 등
     - sys : 시스템 관련 정보를 담음
        . getsizeof(),stdin 등
        . 주로, 명령 매개변수를 입력 받을 때 많이 사용되는 등
     - time : 시간 관련 기능들을 다룰 때
     - urllib : URL을 다룸

  ㅇ 모듈 관련 명령어
     - 올리기 : import 모듈명
     - 내리기 : del 모듈명
     - 특정 함수/클래스/변수 만 불러오기 : from 모듈명 import 이름
     - 임포트된 모듈 목록 확인 : print(dir())

  ㅇ 모듈 설치 여부 확인
     - (운영체제)  pydoc modules
     - (파이썬)  help("modules")


3. 패키지 관리
 
  ※ 외부 라이브러리를 설치하고 관리하기 위한 생태계패키지 관리자 (PIP & PyPI)
     - PyPI (Python Package Index)  :  파이썬 소프트웨어의 공식 저장소 (Cloud)
     - PIP (Package Installer for Python)  :  PyPI에서 패키지를 내려받아 설치하는 도구
        . pip install --upgrade pip : 패키지 매니저의 최신 버전으로 업그레이드 설치

  ㅇ 필수 PIP 명령어
     - # 패키지 설치 및 업데이트
        .  pip install 패키지명          # 설치
        .  pip install 패키지명==1.2.0   # 특정 버전 설치
        .  pip install --upgrade pip     # PIP 자체 업데이트
     - # 관리 및 확인
        .  pip list                       # 설치된 목록 확인
        .  pip uninstall 패키지명         # 삭제
        .  pip show 패키지명              # 패키지 상세 정보 확인

  ㅇ [참고]  운영체제프롬프트> pip  [options]

  ㅇ 例) 
     - pip install numpy : 최신 버전의 NumPy 패키지를 설치
     - pip install 패키지명==버젼
     - from bar import foo : bar 패키지 내 foo 모듈의 사용
     - from flask import Flask
        . flask라는 패키지에서 Flask라는 모듈(클래스)를 가져오겠다는 의미
           .. flask : 소스 저장소(폴더) 지정, '도구함(폴더)'의 이름
           .. Flask : 가져올 대상 지정, 도구함 내 '설계도(클래스)'
     - import numpy as np : 넘파이 라이브러리 모듈을 불러와서, np라는 명칭으로 사용함


4. 특수 변수와 실행 환경  :  (__name__)파이썬 스크립트가 실행되는 맥락을 파악하기 위해 사용됨

  ㅇ __name__ 변수의 역할
     - 파이썬은, 모듈을 실행할 때, 자동으로 __name__ 변수를 생성함
        . 직접 실행 시  :  해당 파일의 __name__에는, "__main__"이라는 값이 할당됨
        . Import 시  :  해당 파일의 __name__에는, 실제 "모듈의 이름"이 할당됨

파이썬
1. 파이썬   2. 파이썬 기초 문법   3. 파이썬 함수   4. 파이썬 연산자   5. 파이썬 객체   6. Python 프로그램 계층 구조   7.
파이썬 자료형
  8.
파이썬 반복
  9.
파이썬 활용
 

용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]