728x90
파이썬 인터프리터를 종료한 후에 다시 들어가면, 만들었던 정의들이 사라진다 (함수나 변수들).
그래서, 좀 긴 프로그램을 쓰고자 한다면, 대신 인터프리터 입력을 편집기를 사용해서 준비한 후에 그 파일을 입력으로 사용해서 실행하는 것이 좋다. 이렇게 하는 것을 "스크립트"를 만든다고 한다. 프로그램이 길어짐에 따라, 유지를 쉽게 하려고 여러 개의 파일로 나누고 싶을 수 있다. 여러 프로그램에서 편리한 함수를 각 프로그램에 정의를 복사하지 않고도 사용하고 싶을 수도 있다.
이런 것을 지원하기 위해, 파이썬은 정의들을 파일에 넣고 스크립트나 인터프리터의 대화형 모드에서 사용할 수 있는 방법을 제공한다. 그런 파일을 "모듈" 이라고 부른다. 모듈로부터 정의들이 다른 모듈이나 메인 모듈로 임포트 될 수 있다 (메인 모듈은 최상위 수준에서 실행되는 스크립트나 계산기 모드에서 엑세스하는 변수들의 컬렉션이다.).
모듈은 파이썬 정의와 문장들을 담고 있는 파일이다. 파일의 이름은 모듈 이름에 확장자 .py를 붙인다. 모듈 내에서, 모듈의 이름은 전역 변수 __name__으로 제공된다.
# Fibonacci numbers module
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
def fib2(n): # return Fibonacci series up to n
result = []
a, b = 0, 1
while a < n:
result.append(a)
a, b = b, a+b
return result
>>> 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]
>>> fibo.__name__
'fibo'
함수를 자주 사용할 거라면 지역 이름으로 대입할 수 있다.
>>> fib = fibo.fib
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
[출처]
https://docs.python.org/ko/3/tutorial/modules.html
https://dojang.io/mod/page/view.php?id=2441
728x90
'Python' 카테고리의 다른 글
로깅 (0) | 2023.04.24 |
---|---|
상위, 하위, 동일 폴더 내 모듈 from, import 하기 (0) | 2023.04.24 |
특정기간 지난 파일 삭제 (0) | 2023.04.24 |
사전(dict) (0) | 2023.04.24 |
List Comprehension(리스트 컴프리헨션) (0) | 2022.11.05 |