모듈이란 각종 변수, 함수, 클래스를 담고 있는 파일
모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일
패키지는 여러 모듈을 묶은 것(특수기능이 필요할때 패키지를 불러오면됨)
파이썬을 설치할 때 다양한 모듈과 패키지가 기본으로 설치 됨
만약 기본 모듈과 패키지로 부족하다면 다른 사람이 만든 유명모듈과 패키지를 설피해서 쓸수도 있음
파이썬을 배우다 보면 모듈, 패키지, 파이썬 표준 라이브러리와 같은 용어를 접하게 되는데 서로 비슷한 개념이지만 약간의 차이가 있음
import module
import modul1, module2
import math
math.pi # 3.141592......
math.sqrt(4.0) # 2.0
math.sqrt(2.0) # 1.14121.....
import math as m
m.pi # 3.141592....
from 모듈명 import 변수 or 함수 or 클래스
from math import pi # math모듈에 있는 pi만 가져다 쓰겠다!
from math import sqrt # math모듈에 있는 sqrt만 가져다 쓰겠다.
pi # 3.141592
sqrt(4.0) # 2.0
from math import *
pi #3.141592.....
sqrt(4.0) # 2.0
import 패키지.모듈
import 패키지.모듈1 , 패키지.모듈2
import 패키지.모듈.변수
import 패키지.모듈.함수()
import 패지키.모듈.클래스()
import urllib.request as r # urllib 패키지의 request 모듈을 가져오면서 이름을 r로 지정
# from urllib import request as r 바로 위에서 선언한거랑 똑같은 문법
response = r.urlopen("http://www.google.com") # r로 urlopen 함수 사용
response.status # 200
예제1
# test.py
base = 2
def square(n):
return base**n # 제곱해주는 함수
# test2.py
import test
print(test.base) # 2
print(test.square(2) # 4
예제2
# person.py
class Person:
class Person:
def __init__(self, name, age, address):
self.name = name
self.age = age
self.address = address
def greeting(self):
print("안녕하세요 저는 {}입니다.".format(self.name))
# main.py
import person
# from person import Person as p
# from person import Person
p1 = person.Person("김현진", 20, "인천")
p1.greeting()
예제3
폴더구조
# main.py
from calcpkg import operation
add = operation.add(1,2)
print(add) # 3
# calcpkg/operation.py
def add(a, b):
return a + b
def mul(a, b):
return a * b
__init__.py
용도__init__.py
파일은 해당 디렉토리가 패키지의 일부임을 알려주는 역할을 한다. 만약 __init__.py
파일이 없다면 패키지로 인식되지 않는다.