print() from pack3.mymod1 import kbs, mbc, sbs, myage print(myage) sbs() kbs() mbc() print('\n 같은 package에서 모듈 호출할 때와 동일') #파이썬은 무조건 public from etc.mymod2 import Hap, Cha print(Hap(5, 3)) print(Cha(5, 3)) print('\n Path가 설정된 폴더의 모듈 읽기') import mymod3 #/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5 aa = mymod3.Gop(4, 3) print(aa) from mymod3 import Gop print(Gop(3, 7)) print('\n 전혀 다른 폴더의 모듈 읽기') #방법 1 : Path에 폴더를 추가 #방법 2 : import sys #권장방법은 아니다. sys.path.append(r'/Library/Frameworks/Python.framework/Versions/3.5') #import mymod4 #이클립스 에러... #print('나누기는 ', mymod4.Nanu(10, 2)) #그래픽
from pack.mymod1 import kbs, mbc mbc() '''---------------------------------------------------''' '''------------- 3. 사용자가 만든 모듈을 이용한 연산. ------------''' '''---------------------------------------------------''' import pack.mymod2 print('합은', pack.mymod2.Hap(5, 3)) from pack.mymod2 import Hap print('import createModule.mymod2 from pack.mymodcreateModuleport Cha print('차는', Cha(5, 3)) '''-------------------------------------------------------------''' '''------------- 3-1. Python37 -> Lib 폴더에 넣어서 사용. ------------''' '''--- 현재 Lib의 Path가 걸려있기 때문에 패키지명을 따로 적어 줄 필요 없이 사용 가능. --''' '''-------------------------------------------------------------''' import mymod3 print('곱은', mymod3.Gop(5, 3)) from mymod3 import div print('나누기는', div(5, 3)) '''==============================================================='''
list1 = [1,2] list2 = [3,4,5] pack1.mymod1.ListHap(list1, list2) # 여러 모듈 중 응용프로그램의 시작 모듈을 명시적으로 표시하기 if __name__ == '__main__': print('최상위 메인 모듈') pack1.mymod1.kbs() from pack1 import mymod1 mymod1.kbs() from pack1.mymod1 import kbs,mbc,gvar kbs() mbc() print(gvar) print('-----------') from etc.mymod2 import * print(Hap(5,3)) print(Cha(5, 3)) print('----------') import mymod3 print(mymod3.Gop(4, 3))
mymod1.Kbs()# 모듈명.함수명으로 호출한다. print('방법3 : from 패키지명.모듈명 import 함수명') from pack.mymod1 import Mbc Mbc() # 함수명으로 호출한다. print('패키지 경로가 다른 곳에 있는 모듈 읽기') import pack_other.mymod2 print('패키지명.모듈명.함수명()으로 호출') re_hap = pack_other.mymod2.Hap(5, 3) print('합 :', re_hap) print('차 :', pack_other.mymod2.Cha(5, 3)) # PythonPath : C:\Anaconda3\Lib 폴더에 mymod3.py 파일을 미리 복사해둔다. print('PythonPath가 설정된 폴더의 모듈 읽기 실습') import mymod3 print('곱1 :', mymod3.Gop(5, 3)) from mymod3 import * print('곱2 :', Gop(10, 5)) print('\n\n전혀 연관이 없는 폴더의 모듈 읽기') print('방법1 : Pythonpath에 해당 폴더를 추가한다.') print('방법2') import sys sys.path.append(r'c:/work') # run time 시점에 'c:/work'를 읽어 들이므로 문제 없음 # 아래 빨간 줄 무시 import mymod4 print('나누기 :', mymod4.Nanugi(5, 3))