일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- pyqt5
- 엑셀
- windows
- 파워포인트
- python
- Windows10
- Excel
- 파이썬GUI
- office
- 비주얼베이직
- 윈도우11
- python3
- Android
- pythongui
- 아웃룩
- VBA
- html
- 오피스
- 문자열
- Windows11
- Outlook
- win32com
- 깃
- 파이썬
- matlab
- pandas
- 안드로이드
- 파이썬3
- 윈도우10
- git
Appia의 IT세상
파이썬[Python] 009 모듈(Module) 본문
앞서서 함수에 대해서 살펴보았습니다. 오늘은 간단하게 모듈에 대해서 살펴보고자 합니다. 설명에 앞서, 혹 2000줄이 넘는 코드를 한 소스 파일에 넣는다면, 혹 추가하고자 하는 기능 또는 수정하고자 하는 항목을 찾기가 쉬울까요? 아마도 쉽지 않습니다. 그래서 이러한 부분들을 고려하여 코드를 정리 하기 위해서 모듈이라는 별도의 파이썬 파일을 이용하여 정리할 수 있습니다.
모듈은 함수, 클래스 , 변수 등으로 구성됩니다. 관련해서 간단하게 예시를 살펴보겠습니다. example.py로 구성됩니다.
def addf( par ): print ( par ) return
외부 모듈을 불러올 때는 다음과 같은 명령어를 이용합니다.
import module1 |
위의 내용으로 구성된 example.py를 불러오기 해보겠습니다. C로 따지면, include라고 보시면 됩니다.
import example example.addf("Zara")
실행하면 다음과 같은 결과가 나옵니다.
Zara
from ... import * 구문
위의 예시를 살펴볼 때, 모듈 내에 함수를 사용하기 위해서는 모듈이름.함수 구조로 실행을 했습니다. 하지만, 이런 부분이 번거러우시다면, 모듈에 관련된 부분들을 현재 namespece에 가져올 수 있습니다. 이 때 from ... import * 구문를 사용합니다.
from ... import * 구문은 다음과 같은 구조로 되어 있습니다.
from moduleName import * |
위의 예시를 이용하여 다음과 같이 구성해보겠습니다.
from example import * addf("Zara")
위의 실행과 동일한 결과가 나올것입니다.
묘듈과 함꼐 반드시 알아야 할 명령어가 있습니다. 바로 dir() 함수 입니다. 이 함수는 파이썬(Python)의 내장된 함수로 모듈의 포함된 모듈, 변수, 함수에 대해 명시해줍니다. 간단한 예시를 살펴보겠습니다.
import math content = dir(math) print (content)
위의 부분을 실행하면 다음과 같은 결과를 얻을 수 있습니다.
['__doc__', '__file__', '__name__', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp', 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh']
모듈 자체 실행
모듈은 자체적으로 실행도 가능합니다. 메인함수를 두고 실행하는 구조와 유사합니다. 그 방법에 대해서 한번 살펴보도록 하겠습니다. 즉 __main__이라는 부분을 바탕으로 실행할 수 가 있습니다. 반드시 모듈의 끝에 관련된 부분을 넣어 주셔야 합니다.
def addf( par ): print ( par ) return if __name__ == "__main__" : addf("Appia") print("Module Lecture")
이 모듈를 실행했을 때는 다음과 같은 결과가 나옵니다.
Appia Module Lecture
오늘은 모듈에 대해서 간단히 살펴 보았습니다. 모듈을 필수적이지 않습니다. 하지만, 잘 쓰면 쓸수록 좋은 기능이고, 보다 체계적으로 코딩할 수 있는 방안들을 제공합니다. 오늘은 모듈에 대해서 간단히 살펴 보았습니다. 아마 DBC 관련된 작업을 할 예정이고 그 떄 모듈을 통해서 데이터 타입 형태등을 정의 해놓고 사용할 것 같습니다. (현재는 완전 그냥 예상중입니다.)
비록 짧은 포스팅이라서, 많이 부족하지만 혹시 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨 주시길 바랍니다.
'Python > Python 기본' 카테고리의 다른 글
파이썬[Python] 011 예외처리(Exception) (0) | 2019.12.27 |
---|---|
파이썬[Python] 010 파일 입출력 (0) | 2019.12.26 |
파이썬[Python] 008 함수(Function) (0) | 2019.12.25 |
파이썬[Python] 007 튜플(Tuple), 딕셔너리(Dictionary) (0) | 2019.12.24 |
파이썬[Python] 006 리스트(List) (0) | 2019.12.23 |