ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 모듈, 패키지
    Python 2022. 6. 10. 13:22

    파일 하나하나 단위를 모듈이라 부르며, 파일을 묶어놓은 폴더를 패키지라고 부른다.

    배포를 할때도 패키지형태로 주기 때문에, 알아둬야 한다.

    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

    댓글

Designed by Tistory.