■ 43. 파이썬 모듈 이해하기
"파이썬에서는 각각의 소스 파일을 일컬어 모듈이라고 한다"
(ex: 내장모듈- import datetime)
이미 만들어져 있고 안정성이 검증된 함수들을 성격에 맞게
하나의 파일로 묶어 놓은것을 모듈이라고 한다.
외부에 모듈에 있는 함수를 사용하려면 이 모듈을 먼저
우리 코드로 가져와서 자유롭게 사용할 수 있도록 해야 하는데
이런일을 파이썬에서는 모듈을 import 한다라고 한다.
예제:
import time
print('5초간 프로그램을 정지합니다')
time.sleep(5)
print('5초가 지났습니다.')
문제164. 아래의 4개의 함수를 가지고 cal_test3.py 라는 모듈을 생성하시오
def plus(a,b):
return a+b
def minus(a,b):
return a-b
def multiply(a,b):
return a*b
def devide(a,b):
return a/b
**lib->sitepackges->다른이름으로저장
cal_test3.py 가 있는 위치에 다른 코드에서
cal_test3.py 를 호출해서 아래와 같이 코드를 실행해보시오
import cal_test3
print(cal_test3.plus(10,5) )
■ 44. 파이썬 패키지 이해하기
"우리가 음악파일을 저장할 때도 장르별로 폴더를 만들어서
별도로 저장하듯이
파이썬 모듈도 음악처럼 갯수가 많아지면 폴더(모듈 꾸러미) 별로
관리를 해야 관리가 편해지는데 이 폴더(디렉토리)가 패키지이다.
site-package에 my_loc 폴더 생성
평범한 폴더가 패키지로 인정을 받으려면 반드시 갖고 있어야 하는 파일이 있다.
__init__.py <--폴더 안에 이 파일이 있어야 함 (my_loc 안에다가)
↑ ↑
언더바 2개임
대체로 이 파일의 내용은 비워둔다.
문제165.
__init__.py 는 대개 비워두는 것이 보통인데 이 파일을 손대는 경우는 언제인가????
답:
__all__ 변수를 조정할 때 손을 댄다.
↓
패키지로 부터 반입할 목록을 정의할 때 사용
__init__py. 를 열어서 아래의 내용을 적으시오
__all__ = ['cal_test3', 'oracle_func']
위와 같이 __init__ 에 __all__ 를 설정해 놓으면
패키지의 모듈을 불러올 때 아래의 명령어가 가능해진다.
from my_loc import *
↓원래는
from my_loc import cal_test3
from my_loc import oracle_funcs
아래와 같이 테스트 하시오
from my_loc import *
print(cal_test3.plus(10,7) )
************
*하면 에러뜸
따로따로 하면 돌아감----------->콘솔 껐다 키면 됨.
from my_loc import cal_test3
print(cal_test3.plus(10,7) )
from my_loc import oracle_funcs
print(cal_test3.plus(10,7) )
*********
문제166.(점심시간 문제)
mean (평균구하는 함수) 이라는 함수를 생성 하시오
(가변 매개변수를 이용해서 숫자를 몇개를 넣고
실행하던 상관없이 평균값이 구해지게 하시오)
print(mean(7,9,2,5,4,9,8) )
6.28
print(mean(7,9,2,5,4,9,8,10,12) )
def mean(*n):
n_list=list(n)
a=sum(n_list)
b=len(n_list)
result=a/b
return result
print(mean(7,9,2,5,4,9,8,10,12) )
***list 화 안시켜도 가능함(튜플값으로 들어가서)
■ 45. 파이썬 모듈 임폴트 이해하기 ① (import)
설명: import 문을 만나면 파이썬 모듈을 찾는 순서
1. 파이썬 내장 모듈
2. sys.path 에 정의 되어있는 디렉토리
■ 46. 파이썬 모듈 임폴트 이해하기 ②(from~import)
C:\Users\itwill\my_loc(패키지)
↓
cal_test3.py (모듈)
plus, minus, multiply, devide (함수)
(스파이더 Editor 값) untitled0.py 에서 cal_test3.py 모듈안의 plus 함수를 사용하고 싶다면?
import my_loc.cal_test3
# 위와 같다
#from my_loc import cal_test3
print(my_loc.cal_test3.plus(10, 20) )
↓ 좀 더 편하게 코딩
import my_loc.cal_test3 as mc
print(mc.plus(10,20 ) )
↓ 좀 더 편하게 코딩
from my_loc.cal_test3 import plus
print(plus(10,20))
↓ 좀 더 편하게 코딩
from my_loc.cal_test3 import *
print(minus(20,10))
■ 47. 파이썬 모듈 임폴트 이해하기 ③ (import~as)
import my_loc.cal_test3 as mc
print(mc.plus(10,20 ) )
알리어스 지정
'python' 카테고리의 다른 글
11. try~except (0) | 2019.03.25 |
---|---|
10. class (0) | 2019.03.25 |
8. 함수, 지역/번역 변수 (0) | 2019.03.25 |
★리스트/함수 (0) | 2019.03.25 |
7. 리스트, 튜플, dictionary (0) | 2019.03.25 |