모듈과 패키지
모듈
모듈은 하나의 패키지 안에 들어가 있으며, Built-in Module인 Random을 사용하여 난수를 쉽게 생성할 수 있다.
모듈이 모여 하나의 큰 프로그램(패키지)이 되고 패키지가 공개된 것을 프로젝트라고 한다.
파이썬의 Module == py 파일을 의미
같은 폴더에 Module에 해당하는 .py파일과 사용하는 .py을 저장한 후 import 문을 사용해서 module을 호출
모듈을 import로 호출하면 메모리에 로딩이 되고, 모든 함수가 호출이 된다.
함수는 모듈이름.함수명을 하면 작동이 된다.
# fah_converter.py
def covert_c_to_f(celcius_value):
return celcius_value * 9.0/ 5 + 32
import fah_converter
celsius = float(input())
fahrenheit = fah_converter.covert_c_to_f(celsius)
print("That's ", fahrenheit, " degrees Fahrenheit")
모듈을 호출할 때 범위 정하는 방법
모듈 안에는 함수와 클래스 등이 존재 가능
필요한 내용만 골라서 호출 할 수 있음
from과 import 키워드를 사용함
Alias 설정하기 - 모듈명을 별칭으로 써서
import fah_converter as fah # fah_coverter를 fah라는 이름으로
print(fah.covert_c_to_f(41.6)) # 그 안에 covert_c_to_f 함수를 쓴다
모듈에서 특정 함수 또는 클래스만 호출하기
from fah_converter import covert_c_to_f
print(covert_c_to_f(41.6)) # covert_c_to_f 함수만 호출함
모듈에서 모든 함수 또는 클래스를 호출하기
from fah_converter import * # *은 모든 것을 호출
print(covert_c_to_f(41.6)) # 전체 호출
# 난수
import random
print(random.randint(1,100)) # 1 ~ 100의 정수 난수 생성
print(random.random()) # 일반적인 난수 생성
# 시간
import time
time.localtime() # 현재 시간 출력
# 웹
import urllib.request
response = urllib.request.urlopen("http://thetemlab.io")
print(response.read())
기능들을 세부적으로 나눠 폴더로 만듦
각 폴더별로 필요한 모듈을 구현함
1차 Test-python shell
폴더별로 "init.py" 구성하기
"main.py" 파일 만들기
실행하기 - 패키지 이름만으로 호출하기
대표적으로 virtualenv와 conda가 있음