반응형
# 모듈, 패키지
#패키지 생성
패키지 폴더 안에 __init__.py, fibonacci.py, prints.py, calculations.py 생성
# __init__.py
# 용도 : 해당 디렉토리가 패키지임을 선언한다.
# Python 3.x : 파일이 없어도 패키지 인식함 -> 하위호환 위해서 생성해놓는 것을 추천
#fibonacci.py
class Fibonacci:
def __init__(self,title = "fibonacci"):
self.title = title
def fib(n):
a,b = 0,1
while a<n:
print(a,end=' ')
a,b = b,a+b
print()
def fib2(n):
result = []
a,b = 0,1
while a<n:
result.append(a)
a,b = b,a+b
return result
#prints.py
def prt1():
print("I'm Niceboy!")
def prt2():
print("I'm Goodboy!")
# 단위 실행(독립적으로 파일 실행)
if __name__ == "__main__": # 다른 파일에서 실행할 경우 main이 아니기 때문에 실행 안됨
prt1()
prt2()
# calculations.py
def add(l,r):
return l+r
def mul(l,r):
return l*r
def div(l,r):
return l/r
# 모듈 - 독립적인 기능을 제공
# 패키지 - 모듈을 모아놓은 것
# 패키지 예제
# .. : 부모 디렉토리
# . : 현재 디렉토리
# 사용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(클래스) - 권장 (Alias)
from pkg.fibonacci import Fibonacci as fb
fb.fib(1000)
print("ex3 : ",fb.fib2(400))
print("ex3 : ",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
p.prt1()
p.prt2()
import builtins # 파이썬 내장 함수 # 기본으로 import 됨
print(dir(builtins))
반응형
'Algorithm > 자료구조, 알고리즘' 카테고리의 다른 글
[코딩 + 알고리즘 완주반] 8일차. 예외 처리 (0) | 2021.03.22 |
---|---|
[코딩 + 알고리즘 완주반] 8일차. 파일 읽기, 쓰기 (0) | 2021.03.22 |
[코딩 + 알고리즘 완주반] 7일차. 상속, 다중상속 (0) | 2021.03.21 |
[코딩 + 알고리즘 완주반] 6일차. self, 클래스 변수, 인스턴스 변수 (0) | 2021.03.20 |
[코딩 + 알고리즘 완주반] 6일차. 함수, Lambda (0) | 2021.03.20 |