반응형

안녕하세요. 신기한 연구소입니다.

이번 포스팅은 모듈에 대해 알아보겠습니다.

파이썬에서 지원하는 모듈(module)은 어떤 기능을 할까요?

어떻게 만들고 사용하는지 알아보겠습니다.

파이썬 모듈(Module)은 우선 .py파일로 만듭니다.

파이썬 파일을 여러개 만들 수 있습니다.

각 파일은 각각의 기능을 그룹화해서 관리하기도 편하고

사용하기도 편합니다.

게다가 다른 개발자들이 만든 .py파일을 가져와 사용할 수도 있습니다.

모든 기능을 하나의 .py파일에 넣으면 파일도 커지고 찾기도 힘듭니다.

데이터 접속 기능, 파일 관련 기능, 각종 유틸 등을 기능별로 .py파일로 만들어

관리하고 사용해야 합니다.

 

위 예제를 설명해볼께요.

먼저 moduleT1.py라는 파이썬 파일을 하나 만듭니다.

그리고 위 내용처럼 함수를 하나 만듭니다.

8번 라인의 print()는 무시하세요. 다른 테스트 하려고 만든 거라서요. ㅎㅎ

그리고 저장을 한 뒤 파이썬 인터프리터를 실행합니다.

그리고 해당 모듈(module) 명을 import 합니다.

만약 현재 인터프리터보다 하위라면 디렉토리명.모듈명으로 해야 합니다.

우리는 같은 위치에 있기에 모듈명만 사용했습니다.

문제가 없다면 오류 없이 진행됩니다.

그리고 moduleT1 내 정의된 함수를 실행합니다.

결과가 잘 나옵니다.

우리는 지금 moduleT1이라는 모듈을 만들었고 

다른 장소에서 해당 모듈을 import 한 뒤 내부의 함수를 실행했습니다.

 

모듈을 만들어 사용하기 위해 필요한 정보를 알아봅니다.

__name__는 현재 사용 중이거나 호출된 위치의 이름입니다.

인터프리터에서 __name__을 실행하면 메인이기에

'__main__'이 출력됩니다.

우리가 만든 moduleT1.__name__에 대해 요청을 하면

모듈 이름 'moduleT1'이 실행됩니다.

testModule.py를 만들고 해당 파일 내에서 __name__을 print 하거나

인터프리터 실행기에서 testModule.___name__을 호출하면

당연히 'testModule'이름을 리턴합니다.

 

위 예제는 모듈 내 함수를 더 편하게 사용하는 방법을 보여줍니다.

moduleT1.sayHello 함수를 mdT1에 할당하면 됩니다.

간단하네요.

 

파이썬 프로그래밍에서는 from import도 지원하네요.

어떻게 사용하는지 직접 테스트해봅니다.

from 모듈명 import 함수명1, 함수명2, ...  (전체 함수는 *로)

우리는 sayHello 함수만 있기에

from moduleT1 import sayHello  또는 from moduleT1 import * 로 

하면 되겠네요.

결과는 함수명만 사용해도 오류 없이 잘 됩니다.

이게 더 편해 보입니다.

이번에는 from import를 사용하면서 as를 이용해서

함수를 다른 이름으로 사용하는 방법을 보겠습니다.

만약 다른 곳에서 가져온 .py 모듈을 사용하는데

함수명이 맘에 안 들거나 너무 간략하게 되어 있어서

가독성이 필요한 경우 as를 사용해서 다른 이름을 지정하면 좋겠네요.

insa로 별칭을 지어주고 사용하니 잘 되네요.

 

지금까지 파이썬 프로그래밍의 모듈의 정의와 간단한 사용법에 대해

알아봤습니다.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형