티스토리 뷰

IT/Python

[Python] 모듈

Dragonz 2020. 8. 1. 16:11
반응형

 

 

def 로 정의한 함수들은 인터프리터를 재시작하면 그 정의가 사라진다. 함수를 별도 파일에 넣고 스크립트가 인터프리터의 대화형 모두에서 사용할 수 있는데, 이러한 파일을 모듈이라고 한다. 즉, 모듈은 파이썬 정의와 문장들을 담고 있는 파일이다. fibo.py 라는 파일을 만들고 아래 내용을 작성한다.

 

def fib(n) :     # n 까지의 피보나치 수열 출력
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a, b = b, a+b
    print()

def fib2(n) :     # n 까지의 피보나치 수열 리턴
    result = []
    a, b = 0, 1
    while a < n:
        result.append(a)
        a, b = b, a+b
    return result

 

fibo.py 파일이 존재하는 경로에서 파이썬 인터프리터를 실행하여 fibo 모듈을 import 하고 모듈내에서 정의된 함수를 호출할 수 있다.

>>> import fibo

>>> fibo.fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

>>> fibo.fib2(100)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

 

모듈 내의 함수 호출

 

함수를 자주 사용한다면 지역 이름으로 대체할 수 있다.

>>> fib = fibo.fib
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

 

모듈 내 함수를 지역이름으로 대체할 수 있다

 

모듈을 import 하는 방법은 다양하다.

>>> from fibo import fib, fib2
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

>>> from fibo import *
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

>>> import fibo as fib
>>> fib.fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

>>> from fibo import fib as fibonacci
>>> fibonacci(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

 

모듈을 import 하고 함수를 사용하는 다른 방법

 

 

END

반응형

'IT > Python' 카테고리의 다른 글

[Python] 파일 읽고 쓰기  (0) 2020.08.01
[Python] 출력  (0) 2020.08.01
[Python] 루프 테크닉  (0) 2020.07.17
[Python] 딕셔너리  (0) 2020.07.16
[Python] 집합  (0) 2020.07.16
댓글
공지사항