# Section 08 # 파이썬 모둘과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 디렉토리로 이동 # . : 현재 디렉토리 # 사용 1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print('ex1 : ', Fibonacci.fib2(400)) print('ex1 : ', 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 Fibonacci.fib(1000) print('ex3 : ', Fibonacci.fib2(1600)) print('ex3 : ', Fibonacci().title)
# 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 사용1 (클래스 형태) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print("ex2 : ", Fibonacci.fib2(400)) # Fibonacci() 형태로 인스턴스화(클래스 생성)를 시켜줘야 __init__ 초기화 가능 print("ex2 : ", Fibonacci().title) # 사용2(클래스) 권장하진 않음, 메모리를 많이 사용 from pkg.fibonacci import * # 사용3(클래스) 별명 사용 from pkg.fibonacci import Fibonacci as fb # 사용4 (함수) import pkg.calculations as c print('ex4 : ', c.add(10, 100)) # 사용5 (함수) 함수 선택해서 가져오기 (추천) from pkg.calculations import div as d print('ex5 : ', int(d(100, 10)))
# section08 # 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 사용1 (클래스) from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print("ex1 : ", Fibonacci.fib2(400)) print("ex1 : ", Fibonacci().title) # 인스턴스화 하고 호출 # 사용2(클래스, 권장하지는 않음) from pkg.fibonacci import * Fibonacci.fib(300) print("ex2 : ", Fibonacci.fib2(600)) print("ex2 : ", Fibonacci().title) # 인스턴스화 하고 호출 # 사용3(클래스, 권장) from pkg.fibonacci import Fibonacci as fb # alias 만들어줌 fb.fib(1000)
#파이썬 모듈과 패키지 #패키지 예제 #상대 경로 #..:부모 디렉토리 #. : 현재 디렉토리 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("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(클래스) 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(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))
# 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]
# Section08 # 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 사용1(클래스) from pkg.fibonacci import Fibonacci Fibonacci.fibo(300) print("ex1 : ", Fibonacci.fibo2(400)) print("ex1 : ", Fibonacci().title) # 사용2(클래스) from pkg.fibonacci import * Fibonacci.fibo(300) print("ex2 : ", Fibonacci.fibo2(700)) print("ex2 : ", Fibonacci().title) # 사용3(클래스) from pkg.fibonacci import Fibonacci as fib fib.fibo(300) print("ex3 : ", fib.fibo2(1600))
# 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 경로 # . : 현재 경로 # 모듈의 파일 이름이 중요, 파일 이름을 보고 가져옴! # 사용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(함수)
# Section08 # 파이썬 모듈과 패키지 # 패키지 예제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 #여러개는 콤마로 구분 Fibonacci.fib(300) print("ex2 : ", Fibonacci.fib2(400)) print("ex2 : ", Fibonacci().title) #인스턴스 생성후 호출 # 사용2(클래스) - 권장 x #from pkg.fibonacci import * #사용3(클래스) from pkg.fibonacci import Fibonacci as fb fb.fib(300) print("ex2 : ", fb.fib2(400)) print("ex2 : ", fb().title) #인스턴스 생성후 호출 #사용4(함수) import pkg.calculations as c print("ex4 : ", c.add(10, 100)) print("ex4 : ", c.mul(10, 100)) #사용5(함수) from pkg.calculations import div as d print("ex5 : ", int(d(100, 10))) #사용6 import pkg.prints as p import builtins #파이썬 기본제공 패키지 p.prt1()
# section08 # 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 from pkg.fibonacci import Fibonacci # class method 형태로 받을 수 있음 Fibonacci.fib(300) print("ex1 : ", Fibonacci.fib2(400)) print("ex1 : ", Fibonacci().title) #instance로 초기화 해줘야지 method 호출 가능하므로 Fibonacci()로 함 print() # 사용 2 from pkg.fibonacci import * # 전부 ㄷㅏ 가져오는 방법. 권장하진 않음. print("ex2 : ", Fibonacci.fib2(400)) print("ex2 : ", Fibonacci().title) print() # 사용 3 from pkg.fibonacci import Fibonacci as fb # 이건 권장하는 방법. 매번 길게 작성 안 해도 됨 fb.fib(1000)
# Section08 # 파이썬 모듈과 패키지 # 패키지 예제 # 상대 경로 # ..: 부모 디렉토리 # . : 현재 디렉토리 # 사용 1(클래스) from pkg.fibonacci import Fibonacci # ,를 통해서 여러개를 불러올 수 있음 Fibonacci.fib(300) 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) # 인스턴스초기화 후 사용 print() # 사용3(클래스) from pkg.fibonacci import Fibonacci as fb # 이름을 바꿀 수 있음 fb.fib(500) print("ex3 : ", fb.fib2(600))
# 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(10) print("ex2 : ", Fibonacci.fib2(3)) print("ex2: ", Fibonacci().title) from pkg.fibonacci import Fibonacci as fb fb.fib(1000) print("ex3: ", fb.fib2(1600)) import pkg.culc as c print("ex4 : ", c.add(10, 100)) print("ex4 : ", c.mul(10, 100))
# - 모듈 사용 및 Alias 설정 # - 패키지 사용 장점 # 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
# 패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 # pkg 디렉토리에 fibonacci.py 파일에서 Fibonacci 클래스 참조 import builtins import pkg.prints as p from pkg.calculations import div as d # 필요한 함수만 가져옴 import pkg.calculations as c from pkg.fibonacci import Fibonacci as fb # 별칭 설정 from pkg.fibonacci import * # 모든 클래스를 가져오지만 리소스 낭비이다. from pkg.fibonacci import Fibonacci Fibonacci.fib(5) print("ex2 : ", Fibonacci.fib2(400)) print("ex2 : ", Fibonacci().title) # 인스턴스 생성후 참조 # 사용2(클래스) Fibonacci.fib(500) print("ex2 : ", Fibonacci.fib2(600)) print("ex2 : ", Fibonacci().title) # 인스턴스 생성후 참조 fb.fib(500)
# Section08 # 파이썬 모듈과 패키지 # 패키지 예제 # 상대경로 # 사용 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)))
# 모듈, 패키지 # 패키지 => 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 from pkg.fibonacci import Fibonacci Fibonacci.fib(300) print(Fibonacci.fib_2(300)) from pkg.calculations import * # import *은 권장하지 않음!!! => 너무 많은 메로리 차지, 필요한 함수만 불러오자!!! # from pkg.calculations import add,substract => , 를 통해 여러개 한번에 가져올 수도 있음 print(add(10, 20)) print(substract(10, 20)) print(multiply(5, 10)) print(divide(5, 10)) import pkg.prints as p p.print1() p.print2()