모듈(module)이란?
- 함수나 변수 또는 클래스를 모아 놓은 파이썬 파일.
- 매우 많은 종류의 모듈이 있다.
- 대부분의 사용이유는 효율성이며, 복잡하고 긴 코드를 짧게 추려논 것이라고 생각하면 편함.
- 사용자가 직접 만들 수도 있지만, 대부분은 파이썬에서 기본적으로 제공함.
*파이썬 기본 제공 모듈 : math, urllib.request, random, turtle, os, sys 등
*사용자 라이브러리에 포함된 모듈 : numpy, random, matplot.lib.pyplot, pygame.mixer 등
*사용자 직접 지정 모듈 : def (함수이름) 으로 작성된 파일을 디렉터리에 저장 후 직접 불러옵니다.
- import (모듈이름) 으로 씀.
- 각각 모듈마다 사용할 수 있는 코드의 숫자, 용도가 다름.
사용 예시는 다음과 같습니다.
random 모듈 사용경우.
import random
a = random.random()
b = random.randrange(1, 10)
c = ['a', 'b', 'c', 'd']
d = random.choice(c)
random.shuffle(c)
print(a)
print(b)
print(d)
print(c)
-->
0 ~ 1 까지의 숫자가 무작위로 소숫점 12자리까지 저장됨.
1 ~ 10 까지의 숫자가 무작위로 저장됨.
지정한 글자 중 무작위로 저장.
['b', 'c', 'a', 'd'] 같이 순서가 무작위로 섞임.
string 모듈 사용 경우.
import string //string 예제
print(string.ascii_uppercase)
print(string.ascii_lowercase)
print(string.ascii_letters)
print(string.digits)
-->
ABCDEFGHIJKLMNOPQRSTUVWXYZ //대문자
abcdefghijklmnopqrstuvwxyz //소문자
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ //대문자+소문자
0123456789 //숫자
본인 스스로 모듈을 만들었을 경우.
본인 스스로 모듈을 만들 시, add, sub을 만들었다고 예를 들어 봅시다.
그 파일(file)의 이름은 Nefus.py라고 한다면, 이 파일은 위의 예시들과 같이 물론 import Nefus로 불러 올 수 있습니다.
하지만 이렇게 불러오면 계속해서 Nefus.add, Nefus.sub라고 써줘야하는 불편함이 있단 말이죠.
이 때 사용할 수 있는 문법이 바로 from입니다.
기본적으로 from Nefus import add, sub 라고 쓰며(예시기준) 이는 따로 무슨 모듈을 썼는지 다시 한 번 쓸 필요 없이, 그냥 사용이 가능하게 해줍니다.
++
해당 모듈 안에있는 모든함수를 사용하고 싶은 경우 import *을 해주면 됩니다.
//file 이름 : Nefus.py
def add(a, b):
return(a + b)
def sub(a, b):
return(a - b)
---------------------------
from Nefus immport add, sub // == from Nefus import *
print(add(3,4))
print(sub(3,1))
-->
7
2
math 모듈 사용 경우.
from math import *
print(sqrt(2)) //2의 제곱근
print(sqrt(4)) //4의 제곱근
print(pi) //원주율
-->
1.4142135623730951
2.0
3.1415926535897931
calendar 모듈 사용 경우.
import calendar
calendar.prmonth(2013, 7)
-->
July 2013
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
등등의 모듈이 더 있습니다.