728x90
반응형
SMALL
1. 모듈(Module)이란 ❓
- 함수나 변수 또는 클래스를 모아 놓은 파이썬 파일
- 모든 파이썬 파일(.py)은 모듈
- 다른 사람들이 만든 코드를 간단하게 사용할 수 있으며, 배포 또한 쉬움
- 간단한 모듈을 만들어보자.
# start부터 end까지의 합을 구하는 함수
def total(start, end):
sum = 0
for i in range(start, end+1):
sum += i
return sum
# num1과 num2의 사칙연산의 결과를 반환
def calc(num1, num2):
return num1 + num2, num1 - num2, num1 * num2, num1 / num2
- util.py 로 저장 후 파일을 업로드 후 모듈로 사용한다.
2. 구글 코랩에서 파일 업로드 하기
1) 코랩의 파일탭에 파일을 업로드 하고 사용
(런타임 재실행 시 파일 사라짐!)
2) 구글 드라이브 활용하기
구글 드라이브에 파일을 업로드 하고 드라이브 마운트 하여 경로설정 후 사용 하기
파일을 닫고 재실행 할 때 마다 구글 드라이브 마운트 해야함.
import sys
# 복사한 경로를 변수에 담아줌
util = '/content/drive/MyDrive/KDT/'
sys.path.append(util)
3. 모듈 사용하기
3-1. 모듈의 전체 함수 가져오기
import 모듈명
# 함수의 사용
모듈명.함수명()
import util
util.total(1, 100)
>>> 5050
util.calc(15 , 4)
>>> (19, 11, 60, 3.75)
3-2. 모듈의 특정 함수만 골라서 가져오기
from 모듈명 import 함수1, 함수2, ....
# 사용
함수명()
from util import calc
_,_,_,res = calc(10,3)
print(res)
>>> 3.3333333333333335
3-3. 모듈의 모든 함수 가져오기
- 3-1번은 함수 사용시 매번 모듈명.함수명() 이런 방식으로 사용해야함
- 같은 이름의 함수가 없다는 전제하에 사용하는 것이 좋음
from 모듈 import *
# 사용
함수명()
from util import *
total(1,100)
>>> 5050
calc(10,3)
>>> (13, 7, 30, 3.3333333333333335)
3-4. 모듈의 별명을 붙여 불러오기
- 모듈의 이름이 길 때 사용
import 모듈명 as 별명
# 사용
별명.함수명()
import util as ut
ut.total(1,100)
>>> 5050
ut.calc(10,3)
>>> (13, 7, 30, 3.3333333333333335)
4. 클래스를 포함한 모듈
- util2.py로 저장
PI = 3.141592
class Math:
# 원의 넓이를 만드는 메소드
def circle(self, r):
return PI * (r ** 2)
# 두 수를 입력받아 더해주는 메소드
def add(self, a, b):
return a + b
- 구글드라이브에 저장 후 마운트 하여 사용하였다.
import util2 as utl # 별칭
utl.PI
>>> 3.141592
math = utl.Math() # 모듈 내 클래스를 통해 객체 생성
math.circle(5)
>>> 78.5398
math.add(10, 5)
>>> 15
4. 패키지(Package)
- 모듈의 상위 개념
- 모듈이 모여있는 디렉토리
4-1. pip: 패키지 관리자
pip란?
- 외부 모듈을 설치 또는 삭제하기 위한 프로그램
- pip 명령을 사용(파이선을 설치하려면 pip가 함께 설치됨)
- 윈도우 명령 프롬프트 또는 터미널에서 사용
- pip --version으로 버전을 확인할 수 있음
728x90
반응형
LIST
'Python > Basic' 카테고리의 다른 글
[파이썬, Python] 파일의 입력과 출력 - open(), close(), with구문, readline(), readlines() (0) | 2023.03.13 |
---|---|
[파이썬, Python] 예외 처리에 대해 알아보자 🧐 (0) | 2023.03.13 |
[파이썬, Python] 스페셜 메소드(Special Method) (0) | 2023.03.10 |
[파이썬, Python] 상속 - 클래스 상속, 메소드 오버라이딩, 다중 상속 (0) | 2023.03.10 |
[파이썬, Python] 객체지향 프로그래밍 - 객체 지향과 클래스(Class) (0) | 2023.03.09 |