파이썬 기초 문법 - 04

Dalbi·2021년 3월 19일
0
post-thumbnail
post-custom-banner

Python

Modules

간단한 calculator 패키지를 만들어보자.

대략적인 경로는 이러하다.

main.py

add_and_multiply.py

multiplication.py

__init__.py 에는 아무것도 넣지 않았다.

이때 main.py를 실행하면

라는 오류가 나온다. 대략 해석해보면 알려진 상위 패키지 없이 상대 가져오기를 시도했다 입니다.
공식 페이지 에 의하면

라고 하며 대략 해석하면 상대적 가져 오기는 현재 모듈의 이름을 기반으로하고 주 모듈의 이름은 항상 "main"이므로 Python의 주 모듈로 사용하려는 모듈은 항상 절대 가져 오기를 사용해야합니다. 라고 한다. 때문에 main.py의 경로를 절대 경로로 바꿔주도록 하자.

결과는.

에러 없이 잘 실행되는 모습니다.

그렇다면 add_and_multiply.py 또한 잘 실행 될까?

또 에러가 났다. 대략 해석해보면 알려진 상위 패키지없이 상대 가져 오기를 시도했다고 한다. 상대경로를 절대경로로 바꿔보자.

다시 실행해보자.

아무것도 안뜨는걸보니 잘 실행되는거같다.

init.py

__init__.py
파일은 해당 디렉터리가 패키지의 일부임을 알려주는 역할을 한다. 만약 game, sound, graphic 등 패키지에 포함된 디렉터리에 __init__.py 파일이 없다면 패키지로 인식되지 않는다.

또한 from game import * 로 game에 있는 모듈을 호출할때 __init__.py 안에
__all__ 변수에 import할 수 있는 모듈을 정의해 주어야 모듈을 사용할 수 있습니다.

profile
백엔드..?
post-custom-banner

0개의 댓글