[python] 파이썬에서 꼭 알아야 할 모듈과 패키지의 사용법과 실습!
728x90
반응형
# 학습 목표
- 모듈이 무엇인지 이해한다.
- 모듈을 사용하고, 직접 만들 수 있다.
- 모듈과 패키지의 차이점을 이해한다.
1. 모듈이란?
개발할 때 코드의 길이가 길어지면 모든 함수와 변수를 구현하는 것은 불가능...
→ 누군가 만들어놓은 함수와 변수를 활용할 수 있다. 이때 사용하는 개념이 '모듈'
→ 즉, 모듈은 '특정 목적'을 가진 함수와 자료들의 모임
2. 모듈 사용하기
1) 모듈 불러오기
' import ' 키워드를 이용해서 모듈을 사용할 수 있다.
# random 모듈 불러오기
import random
2) 모듈 사용법 확인하기
모듈 속 사용하려는 함수나 변수의 사용법 확인!
→ 함수의 경우, 어떤 인자와 어떤 반환값을 가지는지
→ 변수의 경우, 어떤 자료형인지 ex) int, str 등
ex) random.randrange(start, stop) : start ~ stop 중의 한 원소를 가지고 온다.
3) 모듈 사용하기
' . ' (dot)을 쓴 후에 모듈 속의 함수와 변수를 사용
→ 이미 만들어진 모듈을 통해 함수들을 일일이 생성하지 않고 편리하게 사용할 수 있다.
# 모듈 사용의 예시
import random
print(random.randrange(0,2)) # 0이상 2미만 수 중 임의 출력
4) 모듈 만들기
구현하고자 하는 기능이 담긴 모든 모듈들이 구현되어있지 않기에, 필요에 따라 새롭게 만들어야 한다.
→ 원하는 내용과 로직이 남긴 모듈 제작! → .py 형태로 만들 수 있다.
# 모듈 만드는 기초 예시
# 1) py 파일을 생성한 후, 함수와 변수를 만든다.
# cal.py → 생성한 모듈은 'import cal'을 한 후, plus()를 어디든 사용할 수 있다.
def plus(a,b):
c = a + b
return c
# 2) 다른 파일에서 만들어 둔 py 파일을 불러온다.
# main.py
import cal # 'cal' 라는 모듈을 불러오겠다는 의미
# 불러온 모듈 속 함수 사용
print(cal.plus(3,4)) # 7 출력
5) 모듈 만들기 예제
Q) cal.py 라는 계산기 기능이 담긴 모듈을 생성. 모듈 안에는 plus()와 minus() 함수가 있고, 모델명이 담긴 변수인 modelName이 있다. cal.py를 만들어보고, main.py에서 이를 불러와서 실행해보자.
# cal.py
def plus(a,b):
c = a + b
return c
def minus(a,b):
c = a - b
return c
modelName = 'ELI-C2'
# main.py
import cal
var1 = cal.modelName
var2 = cal.plus(3,4)
var3 = cal.minus(7,2)
## 모듈 cal에서 설정한 변수와 함수 출력
print(var1, var2, var3) # ELI-C2 7 5
반응형
3. 모듈 활용하기
이제부터는 모듈을 어떻게 활용하고 유용한 모듈을 확인해보자
1) math
수학 연산을 도와주는 모듈. 무리수 π(3.14)와 자연상수 e(2.71)가 변수로 포함됨.
import math
print(math.pi) # 3.141592...
print(math.e) # 2.718281
2) random
→ 랜덤한 숫자를 선택해주는 함수들이 담긴 모듈
ex) random.randrange(a,b) : a이상 b미만의 수 중 하나를 반환하는 함수
import random
print(random.randrange(1,11))
# 1부터 10까지의 숫자 중 하나를 출력
3) time
→ 시간과 관련된 함수가 포함된 모듈
ex) time.ctime() : "요일 월 일 시간 년" 순으로 현재 시간을 문자열로 반환해주는 함수
4. 패키지
1) 패키지란?
패키지는 모듈을 폴더(Directory)로 구분하여 관리하는 것을 의미한다.
하나의 프로젝트 내에 많은 폴더와 그 안에 모듈(.py)가 있을 것이고, 이를 계층적으로 관리하는 것을 패키지라고 보면 된다. 결국 패키지라는 것은 모듈들을 편리하게 관리하기 위해서 필요!
project/
sound/ ... / ... / ~.py
script/ ... / ... / ~.py
audio/ ... / ... / ~.py
2) 패키지 안의 모듈 사용하기 (☆☆☆)
- 아래와 같이 모듈이 존재할 때, 이를 사용하는 방법은?
→ user 패키지 > cal 모듈 > plus() 함수
① import을 이용하여 폴더(=모듈)를 불러온 후 함수 실행
import user.cal # user 폴더 안에 있는 cal 모듈 불러오기
print(cal.plus(3,4))
② from-import 을 사용 ( 함수 및 변수 사용시, ' . '를 써주지 않아도 된다. )
# user 안에 있는 cal 모듈로부터 plus 함수/변수를 불러온다.
from user.cal import plus
print(plus(3,4))
3) 예제1 - 웹페이지 정보를 불러와서 해당 url의 html 출력
- urllib 패키지를 통해 웹페이지의 정보를 가져올 수 있다.
→ 이중 urllib.request.urlopen() 함수를 통해 해당 url의 html 파일을 가져올 수 있다.
from urllib.request import urlopen
# urlopen 함수를 통해 주소를 불러오고, read() 메서드를 통해 읽어온다
webpage = urlopen("https://en.wikipedia.org/wiki/Lorem_ipsum").read().decode("utf-8")
print(webpage) # 해당 주소의 html 출력 확인
4) 예제2 - 로또 추첨기
1~45까지의 숫자 중 임의의 6개의 수를 맞추는 게임인 로또 게임을 randrange()를 이용해서 만드시오
import random
lotto = []
while len(lotto) < 6: # lotto의 길이가 6이 될때까지 수행
num = random.randrange(1,46) # 1~45까지 중 임의의 수 추출
if num not in lotto:
lotto.append(num)
lotto.sort()
print(lotto)
'Data Analyst > Basic Python' 카테고리의 다른 글
Pandas 기초부터 실습까지! Series와 DataFrame 다루는 법! (0) | 2023.09.06 |
---|---|
[python] 데이터 분석의 기초! Numpy의 간단 총정리+실습! (0) | 2023.08.30 |
[python] 파이썬의 핵심, 객체와 클래스란? 실습을 통해 공부하자! (0) | 2023.08.05 |
[python] 함수와 메서드의 이론 학습과 연습 문제 (0) | 2023.08.01 |
[Python] 기초 자료형 정리 및 실습 (Tuple, List, Dictionary 등) (0) | 2023.07.31 |
댓글