1. Python 프로그램 계층 구조
  ㅇ 라이브러리 > 패키지 > 모듈 > 문장 > 표현식 > 객체
     - 라이브러리
        . 파이썬 표준 라이브러리 (Python Standard Library, PSL)
           .. 파이썬에 기본 설치되는 패키지,모듈,내장 함수들을 총칭
     - 패키지
        . 모듈들을 디렉토리 구조로 묶어놓은 것
     - 모듈 
        . 유용한 변수,함수,클래스들을 모아놓은 집합체 (스크립트 파일)
   ※ [참고] ☞ 파이썬 표준 라이브러리 (파이썬 홈페이지)
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 (Package Manager) : Python 패키지 소프트웨어의 설치 및 관리에 쓰이는 패키지 관리자
        . pip install --upgrade pip : 패키지 매니저의 최신 버전으로 업그레이드 설치
  ㅇ 패키지의 설치,제거,갱신,확인 등  :  운영체제별 프롬프트> pip  [options]
     - (설치) pip install 패키지명
     - (제거) pip uninstall 패키지명
     - (갱신) pip install --upgrade 패키지명
     - (설치 목록 확인) pip list
  ㅇ 例) 
     - pip install numpy : 최신 버전의 Numpy 패키지를 설치
     - pip install 패키지명==버젼
     - from bar import foo : bar 패키지 내 foo 모듈의 사용
     - import numpy as np : 넘파이 라이브러리 모듈을 불러와서, np라는 명칭으로 사용함
  ㅇ PYPI (Python Package Index) 
     - Python의 공식 소프트웨어 저장소
4. [참고사항]
  ㅇ __name__ 변수의 역할
     - 모듈이 직접 실행되는지, 다른 코드에서 import되어 사용되는를 구분하기 위한 특수 변수
     - 파이썬이 프로그램을 실행할 때,자동으로 현재 모듈의 이름을 __name__ 변수에 저장
  ㅇ __main__ 모듈 이름
     - 파이썬 인터프리터가, 프로그램을 직접 실행할 때, 자동으로 부여하는 모듈 이름
     - 이때, __name__ 변수에는 "__main__"이 자동으로 들어감
     - 만일, 다른 파일로부터 import될 때, 그 파일 이름(모듈 이름)이 들어감