-
파일 하나하나 단위를 모듈이라 부르며, 파일을 묶어놓은 폴더를 패키지라고 부른다.
배포를 할때도 패키지형태로 주기 때문에, 알아둬야 한다.
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
#패키지 예제 # 상대 경로 # .. : 부모 디렉토리 # . : 현재 디렉토리 # 사용1(클래스) from pkg.fibonacci import Fibonacci #pkg폴더안에 fibonacci파일에서 Fibonacci클래스를 import함 Fibonacci.fib(5) # 사용2(클래스) from pkg.fibonacci import * #다 가져오게 함 근데 불필요한것도 가져오니까 가져올 것만 ,콤마로 구분 # 사용3(클래스) from pkg.fibonacci import Fibonacci as fb #Fibonacci이름이 너무 기니까 as 별명으로 짧게 줄일 수 있음
이런 식으로, from 폴더/파일 import 불러올거 문법을 이용해서 가져온다. 클래스를 가져와서 클래스이름.클래스내부함수를 사용할 수 있다.
불러올거에 *을 붙이면 다 가져올 수 있고, 불러온 이름이 너무 길면, as 를 이용해 별칭을 붙일 수 있다.
def print1(): print("I'm Niceboy!") def print2(): print("I'm Goodboy!")
# 사용4(함수) import pkg.prints as p print(p.print1()) # 사용5(함수) from pkg.prints import print2 as p2 print(p2())
그리고 함수들은 바로 import를 하던가 from 주소 import 함수 (as 별명)을 해주면 된다.
예외로
import builtins print(dir(builtins))
이렇게 쓰면, 지금까지 쓴 함수들을 보여준다.
마지막으로, __init__.py파일을 만들어놓으면
해당 디렉토리가 패키지임을 선언하는 역할을 한다.
그리고 각각 만들어놓은 파일이 잘 실행되는 파일인지 확인해보는 단위 실행을 해볼 수 있다.
if __name__ == "__main__": print1() print2()
이런 식으로, 자기 파일에서만 실행되게끔 할 수 있다.
'Python' 카테고리의 다른 글
파일 읽기, 파일 쓰기 (0) 2022.06.11 상속, 다중상속 (0) 2022.06.10 self,클래브변수,인스턴스변수 (0) 2022.06.09 함수 및 람다 (0) 2022.06.07 반복문 (0) 2022.05.23