본문 바로가기
IT/Python

도레미 파이썬: 모듈과 패키지

by 무녈 2021. 6. 16.

자료의 출처는 엘리스 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로 제작 가능

패키지는 모듈을 폴더로 구분하려 관리하는 것

반응형

댓글