# 패키지 예제 # 상대경로 # 사용 1 (클래스) import builtins import pkg.prints as p import pkg.calculations as c from pkg.fibonacci import Fibonacci as Fib from pkg.fibonacci import Fibonacci from pkg.calculations import div as d Fibonacci.fib(300) print("ex1 : ", Fibonacci.fib2(400)) print("ex1 : ", Fibonacci().title) # 사용 2 # from pkg.fibonacci import * (저 파일 class 전부다 , 권장 하지 않음) # 사용 3 Fib.fib(500) print('ex4 : ', c.add(10, 100)) print('ex5 : ', int(d(100, 10))) p.prt1() p.prt2()
# Section 08 # 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print('ex1: ', Fibonacci.fib(300)) # none print('ex1: ', Fibonacci.fib2(400)) print('ex1: ', Fibonacci().title) # 사용2(클래스) from pkg.fibonacci import * # 해당 파일에 있는 모든 클래스를 import, 데이터 사용량이 많아서 잘 안씀 Fibonacci.fib(500) print('ex2: ', Fibonacci.fib2(600)) print('ex2: ', Fibonacci().title) # 사용3(클래스) : 이건 권장 from pkg.fibonacci import Fibonacci as fb fb.fib(1000) print('ex3: ', fb.fib2(1100)) print('ex3: ', fb().title)
# Section08 # 파이썬 모듈과 패키지 # 패키지 예제1 # 상대 경로 패키지 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(100) print("ex1 : ", Fibonacci.fib2(200)) print("ex1 : ", Fibonacci().title) """ 0 1 1 2 3 5 8 13 21 34 55 89 ex1 : [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144] ex1 : fibonacci """ # 사용2(클래스) - 메모리 많이 차지 하기 때문에 권장 X from pkg.fibonacci import * Fibonacci.fib(300) print("ex2 : ", Fibonacci.fib2(400)) print("ex2 : ", Fibonacci().title) """ 0 1 1 2 3 5 8 13 21 34 55 89 144 233 ex2 : [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]
#모듈과 패키지 #모듈을 구조적으로 관리하는게 페키지. #패키지 예제 #상대경로 #.: 현재 디랙토리 #..: 부모디렉토리 # 사용1(클래스) from pkg.fibonacci import Fibonacci f = Fibonacci() f.fib(100) print("ex1 : ", f.fib2(200)) print("ex2 : ", Fibonacci().title) #인스턴스초기화 후 사용 #사용2 권장 하지 않음 #from pkg.fibonacci inmort * #사용3 #from pkg.fibonacci import Fibonacci as fb # f = fb() # f.fib(100) #사용4(함수) import pkg.calculations as c print("ex4: ", c.add(10, 100)) print("ex5: ", c.mul(10, 29))
#파이썬 모듈과 패키지 #패키지 예제 #상대 경로 #..:부모 디렉토리 #. : 현재 디렉토리 from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print(Fibonacci.fib2(300)) print("ex:", Fibonacci().title) # 사용 2(클래스 from pkg.fibonacci import * #권장하지 않음 필요 없는 클래스도 모두 가져옴 #사용 3(클래스) from pkg.fibonacci import Fibonacci as fb fb.fib(300) #사용 (함수) import pkg.calculations as c print("ex:", c.add(10, 100)) print("ex:", c.mul(10, 100)) #사용 (함수) from pkg.calculations import div as d print("ex", d(100, 10))
# Section08 # 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print("ex2 : ", Fibonacci.fib2(400)) print("ex2 : ", Fibonacci().title) # 사용2(클래스) 권장하지 않음 메모리를 많이 차지 from pkg.fibonacci import * Fibonacci.fib(500) print("ex2 : ", Fibonacci.fib2(600)) print("ex2 : ", Fibonacci().title) # 사용3(클래스) 권장하는 방법 짧게 가독성을 좋게 from pkg.fibonacci import Fibonacci as fb
# Section08-1 # 모듈: 파일 하나하나 # 패키지: 모듈들을 디렉터리 구조적으로 관리하는것 # 패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 파일 이름이 중요 : 파일 이름을 통해서 모듈이 어떤 역할을 하는지 알아야되기 때문에 네이밍 중요 # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print("ex2: ", Fibonacci.fib2(400)) print("ex2: ", Fibonacci().title) # 사용2(클래스) // 권장하지는 않는다 메모리를 많이 씀 from pkg.fibonacci import * print("ex2: ", Fibonacci.fib2(500)) print("ex2: ", Fibonacci().title) # 사용3(클래스) from pkg.fibonacci import Fibonacci as fb fb.fib(1000) print("ex3: ", fb.fib2(400)) print("ex3: ", fb().title)
# 모듈과 패키지 from pkg.fibonacci import Fibonacci Fibonacci.fib('', 300) print(Fibonacci.fib2('', 300)) print(Fibonacci().title) print() from pkg.fibonacci import Fibonacci as fb fb.fib('', 300) print(fb.fib2('', 300)) print(fb().title) print() import pkg.calc as c print(c.add(10, 100)) from pkg.calc import div as d print(int(d(100,11))) import pkg.prints as p import builtins p.prt1() p.prt2() print(dir(builtins))
# 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 경로 # . : 현재 경로 # 모듈의 파일 이름이 중요, 파일 이름을 보고 가져옴! # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print("ex1 : ", Fibonacci.fib2(200)) print("ex1 : ", Fibonacci().title) # 사용 2(클래스) from pkg.fibonacci import Fibonacci as fb # alias fb.fib(1300) print("ex2 : ", fb.fib2(2200)) print("ex2 : ", fb().title) # 사용 3(함수) import pkg.calculations as cal print("ex 3 : ", cal.add(10,100)) print("ex 3 : ", cal.mul(10,100)) # 사용 4(함수)
# 파이썬 모듈과 패키지 # 패키지 예제1 # 상대 경로 패키지 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 패키지 : 모듈들을 디렉토리를 구조적으로 관리(폴더) # 모듈 : # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) # 0 1 1 2 3 5 8 13 21 34 55 89 144 233 print("ex1 : ", Fibonacci.fib2( 400)) # ex1 : [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377] print("ex1 : ", Fibonacci().title) # ex1 : fibonacci # 사용2(클래스) # 메모리 많이 차지, 권장x from pkg.fibonacci import * Fibonacci.fib(400) # 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 print("ex2 : ", Fibonacci.fib2( 500)) # ex2 : [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377] print("ex2 : ", Fibonacci().title) # ex2 : fibonacci # 사용3(클래스) from pkg.fibonacci import Fibonacci as fb
# Section08 # 파이썬 모듈과 패키지 # 패키지 예제 # 상대경로 # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print("Ex1 : ",Fibonacci.fib2(400)) print("Ex1 Title: ", Fibonacci().title) # 사용2 (클래스 / 권장 X) from pkg.fibonacci import * # 리소스낭비 이기에 권장하지 않음 Fibonacci.fib(500) print("Ex2 : ",Fibonacci.fib2(500)) print("Ex2 Title: ", Fibonacci().title) # 사용3 (클래스 / alias / 권장 O) from pkg.fibonacci import Fibonacci as fb fb.fib(500) print("Ex3 : ",fb.fib2(500))
# 패키지 예제1 # 상대 경로 패키지 # .. : 부모 디렉토리 # . : 현재 디렉토리 ##파일 하나하나가 모듈, 모듈을 모아놓은 것을 패키지라고 할 수 있다. ## 모듈을 구조적으로 관리하는 것을 패키지라고 한다. #모듈 독립적으로 사용할 수 있는 것. # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(100) ##매서드 가져와서 사용. print("ex1 : ", Fibonacci.fib2(200)) ##이메서드를 가져와서 설득하기. print("ex1 : ", Fibonacci().title) # 사용2(클래스) from pkg.fibonacci import * #매모리를 많이 사용함. 여러개의 클래스를 전부다 불러옴. Fibonacci.fib(300) print("ex2 : ", Fibonacci.fib2(400)) print("ex2 : ", Fibonacci().title) # 사용3(클래스) from pkg.fibonacci import Fibonacci as fb ##fb로 바구겠다. fb.fib(500)