프로그래밍언어/Python

파이썬 - 모듈과 패키지

멍토 2020. 1. 20.

표준모듈 : 각기 목적에 맞게 설계되어 있고 다양한 함수, 클래스 등을 제공하며, 별도의 추가 설치 과정 없이 import문으로 로딩해 사용함

import 모듈명

import ~ as ~ 문

import 모듈명 as 별칭

# 별칭을 사용하면 가독성이 좋아질수 있고 편리하게 코딩이 가능하다.


선택적 모듈로딩

from 모듈명 import

#예시

from math import radians, ceil, floor, pi 

#명시적으로 선언해 사용하면, 해당 함수가 어느 모듈에서 로딩되어 사용됐는지 명확히 알 수 있으므로 사용을 권장

#ceil 입력된 값보다 큰값중 가장 최소의 정수

#floor 입력된 값보다 작은값중 가장 최대의 정수

#from import* 문을 사용하면 모듈 혹은 패키지가 가지고 있는 함수, 값 등의 모든 정보를 로딩해 사용할 수 있음

#math.radians()가 아니라 radians() 로 사용이 가능하다.

#모듈이 직접 로딩되지 않고 함수와 값이 직접 로딩되었기 때문이다


sys 모듈 : 시스템과 관련된 정보에 접근하거나 명령행에서 전달된 명령행 매개변수로부터 인자 값을 읽어올 때 활용됨

1
2
3
4
5
import sys
 
print("sys.argv => {0} {1}".format(type(sys.argv), sys.argv))
 
#리스트 타입, 명령행에서 python 명령에 전달된 인자들의 정보를 담고 있음

random 모듈 : 난수(연속적인 임의의 수)를 생성하는 기능 제공

1
2
3
4
5
6
7
8
9
10
from random import random, uniform, randrange, choice, sample, shuffle
 
#random()함수 : 0.0 <= N < 1.0 범위의 부동소수점 난수 N을 반환
#uniform(시작점, 끝점) 범위안의 부동소수점 난수생성
#randrange(시작, 끝, 스탭) : 정수형 난수 반환, 시작을 넣지않는다면 0으로 취급
#스탭을 넣지않으면 기본값을 1로 취급, 스탭은 정수항목들의 간격을 전달
#choice(시퀀스, 반환개수) : 인자로 전달된 시퀀스 객체의 항목 중 임의 항목 반환, 반환개수는 기본값 1
#복원 추출 시뮬레이션이므로 중복이 나올 수 있다.
#sample(시퀀스, 반환개수) : 시퀀스객체, set 객체 항목중 k개 반환, ㅣ복원 추출 시뮬레이션
#shuffle(시퀀스) : 시퀀스 객체의 항목을 뒤섞는함수, 반환은 없다.

datetime 모듈 : 날짜와 시간 정보를 확인하고 조작하는 클래스, 함수 등을 제공함

from datetime import datetime, timezone, timedelta

서드파티 모듈 : 다른 누군가에 의해 만들어져 배포되고 공유되는 모듈

파이썬의 표준모듈에 기능이 없을때 사용

 

문법(터미널 혹은 cmd)

pip install 모듈명

pip uninstall 모듈명


사용자 정의 모듈 : 필요한 기능을 직접 구현한 모듈

 

모듈은 실행의 목적(파이썬 명령에 의해 실행)과

라이브러리의 목적으로 만들어진다.

 

모듈의 __name__속성

실행목적의 모듈 : __name_-속성에 "__main__"문자열 값이 들어가 있음

라이브러리 목적의 모듈 : __name속성에 모듈의 이름이 저장되어 있음


사용자 정의 패키지 : 모듈이 모여 폴더를 형성하면 패키지가 된다.

폴더안에 모듈을 넣고 __init__.py파일을 생성한다.

파일안에 추가할 내용이 있다.

__all__ = ["모듈명1", "모듈명2"] # 패키지에 포함될 모듈 이름저장

'프로그래밍언어 > Python' 카테고리의 다른 글

파이썬 - 문자열  (0) 2020.01.23
파이썬 - 자료구조(셋,딕셔너리)  (0) 2020.01.22
파이썬 - 예외처리  (0) 2020.01.19
파이썬 - 내장함수  (0) 2020.01.18
파이썬 - 함수의 기초  (0) 2020.01.17

댓글

💲 광고입니다.