자료의 출처는 엘리스 AI 트랙(https://aitrack.elice.io/courses/) '도레미 파이썬' 이며, 학습 후 정리한 내용입니다.
⚡️올바르지 않은 내용이 있을 경우 댓글로 남겨주시면 감사하겠습니다.⚡️
수강 목표
- 모듈이 무엇인지 이해한다.
- 모듈을 사용하고, 직접 만들 수 있다.
- 모듈과 패키지의 차이점을 이해한다.
모듈과 패키지
모듈
모듈의 필요성
코드의 길이가 길어지는 상황
이때, 모든 함수, 변수를 구현하는 것은 불가능
-> 누군가 만들어 놓은 함수, 변수 등을 활용하자!
모듈
특정 목적을 가진 함수, 자료, 코드의 모임
모듈 사용하기
모듈 불러오기
import(불러오다) 키워드를 이용해서 모듈 사용
import random
# random 모듈 불러오기
모듈 사용법 확인하기
모듈 속 사용하려는 함수/변수의 사용법 확인
random.randrage(start, stop)
range(start, stop)중의 한 원소를 가지고 온다.
모듈 사용하기
.(dot)을 쓴 후에 모듈 속 함수/변수 이용
import random
print(random.randrange(0,2))
# 0 이상 2 미만 수 중 읨의로 출력
모듈 만들기
우리가 원하는 내용이 담긴 모듈 제작 가능
.py(파이썬 파일)로 만들 수 있다.
import my_module
1) py파일을 생성 후, 함수와 변수를 만든다.
# cal.py
def plus(a, b):
c = a + b
return c
2) 다른 파일에서 만들어 둔 py파일을 불러온다.
# main.py
import cal
3) 불러온 모듈 속 함수, 변수를 활용한다!
# main.py
import cal
print(cal.plus(3,4))
# 7
모듈 활용하기
math
수학 연산을 도와주는 모듈
math.pi와 math.e
무리수 파이(3.14)와 e(2.71)가 담긴 변수
import math
print(math.pi) # 3.141592...
print(math.e) # 2.718281...
random
랜덤한 숫자를 선택해 주는 함수들이 담긴 모듈
import random
# random 모듈 불러오기
random.randrange(a, b)
a이상 b미만의 수 중 하나를 반환하는 함수
import random
print(random.randrange(1, 11))
# 1부터 10까지의 숫자 중 하나를 출력
time
시간과 관련된 함수 또는 변수를 활용
import time
clock = time.ctime()
#요일 월 일 시간 년"순으로 현재 시간을 문자열로 변환해주는 함수
패키지
패키지
모든 폴더(Directory)로 구분하여 관리하는 것
project/
script/
sound/
audio/
...
왜 패키지가 필요할까?
모듈을 편리하게 관리하기 위해서!
패키지 속 모듈 사용하기
다음과 같이 모듈이 있을 때, 이를 사용하는 방법은?
[user(folder) - cal (file) - 함수 plus()]
방법I
import을 이용해서 폴더(or 모듈)를 불러온 후, 함수 실행
import user.cal
print(cal.plus(3, 4)) # 7
방법 II
from-import 사용
함수/변수 사용시 "."를 써주지 않아도 된다.
from user.cal import plus
print(plus(3, 4))
# cal.plus()라고 적어주지 않아도 된다!
urllib
웹페이지의 정볼르 가져올 수 있는 패키지
urllib.request.urlopen 함수는 해당 url의 html파일을 가져온다.
- urlopen(): 이 함수에 url을 넣으면 해당 url에 접근한 결과를 얻을 수 있다.
- read(): 결과를 해독하여 문자열로 반환한다.
- decode(): 문자열을 특정 인코딩 방식으로 해독한다. (유니코드, 아스키 코드 등)
from urllib.request import urlopen
var = urlopen("https://en.wikipedia.org/wiki/Lorem_ipsum").read().decode("utf-8")
print(var)
요약
모듈은 특정 목적을 가진 함수, 자료의 모임!
원하는 내용이 담긴 모듈을 .py로 제작 가능
패키지는 모듈을 폴더로 구분하려 관리하는 것
'IT > Python' 카테고리의 다른 글
파이썬 객체지향 프로그래밍-01. 함수 (0) | 2021.06.20 |
---|---|
도레미 파이썬: 객체 (0) | 2021.06.16 |
엘리스 AI 트랙 도레미 파이썬 06. 함수와 메서드 (0) | 2021.05.06 |
엘리스 AI 트랙 도레미 파이썬 05. 기초 자료형 II (0) | 2021.05.06 |
엘리스 AI 트랙 도레미 파이썬 04. 반복문 (0) | 2021.05.05 |
댓글