Python 모듈 임포트

PythonBeginner
지금 연습하기

소개

Pythonic 지식의 현명하고 존경받는 문지기 (Gatekeeper) 가 있는 Codemara 의 마법의 성에 오신 것을 환영합니다. 코드의 열망하는 마법사로서, 여러분의 퀘스트는 모듈 임포트 (module importing) 의 비전 마법을 마스터하는 것입니다. 이는 지팡이의 가치를 아는 모든 Python 마법사에게 필수적인 기술입니다. 성에는 마법 주문 (모듈) 이 고대 서적 (파일) 에 새겨진 많은 비밀 방이 있습니다. 이러한 주문을 여러분의 주문 (프로그램) 에 사용하려면, 성의 미로 같은 복도를 탐색하고 올바른 import 주문을 외우는 법을 배워야 합니다.

여러분의 목표는 표준 및 사용자 정의 모듈을 모두 임포트하고, 강력한 주문을 시전하기 위해 그들의 비전 기능을 활용하는 능력을 보여줌으로써 문지기의 존경을 얻는 것입니다. 그래야만 모듈 지식의 열쇠 (Key of Modular Knowledge) 를 수여받고 Codemara 의 Python 마법사들 사이에 자리를 얻을 수 있습니다.

표준 모듈 임포트

이 단계에서는 Python 의 광범위한 라이브러리와 함께 제공되는 표준 모듈을 호출하는 방법을 배우게 됩니다. 이것들을 Codemara 성 안의 모든 마법사들이 공유하는 일반적인 주문이라고 생각하십시오.

~/project/standard_spellbook.py라는 파일을 엽니다. 이 파일에서 math 모듈을 임포트하여 숫자의 제곱근을 계산합니다.

import math

number_to_calculate = 16
sqrt_value = math.sqrt(number_to_calculate)
print(f"The square root of {number_to_calculate} is {sqrt_value}")

주문을 실행하려면 터미널에 다음 명령을 입력하십시오.

python ~/project/standard_spellbook.py

예상되는 출력은 16 의 제곱근을 표시해야 합니다.

The square root of 16 is 4.0

사용자 정의 모듈 생성 및 임포트

문지기는 표준 모듈의 힘을 활용하는 여러분의 능력에 감탄했습니다. 이제 그는 여러분에게 자신만의 주문 (사용자 정의 모듈) 을 작성하고 임포트하도록 도전합니다.

~/project/custom_spellbook.py라는 파일을 엽니다. 이것이 여러분의 사용자 정의 모듈이 됩니다. codemarble 홀 전체에 신비로운 메아리를 낼 수 있는 새로운 주문 (함수) 을 정의합니다.

## custom_spellbook.py
def echo_spell(message):
    return message + "... " + message

이제 ~/project/apprentice_wizard.py라는 별도의 파일에서 다음 코드를 사용하여 새로운 주문을 호출합니다.

## apprentice_wizard.py
from custom_spellbook import echo_spell

message_to_echo = "Hello Codemara"
echoed_message = echo_spell(message_to_echo)
print(echoed_message)

견습 마법사의 스크립트를 실행합니다.

python ~/project/apprentice_wizard.py

메아리가 울려 퍼지는 것을 들어야 합니다.

Hello Codemara... Hello Codemara

모듈 임포트 에러 처리

어떤 강력한 마법사도 알고 있듯이, 주문 시전은 주문이 잘못되었을 때 잘못될 수 있습니다. 이제 문지기는 모듈을 임포트하는 동안 발생할 수 있는 오류를 처리하는 방법을 가르칩니다.

~/project/faulty_spellbook.py 파일을 열고 import 문 내에 간단한 오류를 포함시킵니다.

## Not a real Python module - expect error
try:
    import time_travel
except ImportError:
    print("The time_travel spell doesn't exist in this dimension.")

터미널에서 스크립트를 실행합니다.

python ~/project/faulty_spellbook.py

출력은 현 상황을 현명하게 알려줄 것입니다.

The time_travel spell doesn't exist in this dimension.

요약

이 랩에서 여러분은 Codemara 성의 신비로운 홀을 통과하는 여정을 시작하여 모듈 임포트의 기본 기술을 배웠습니다. 표준 모듈을 호출하여 개념을 소개받았고, 자신만의 사용자 정의 모듈을 제작하고 임포트하여 지식을 향상시켰으며, 임포트 오류 처리 시 주의를 기울였습니다. 이는 코딩의 마법 세계에서 실패를 우아하게 관리하는 데 필수적인 기술입니다. 각 단계를 통해 숙련도를 얻었으며 이제 Python 의 숙련된 마법사가 되기 위한 여정에 잘 들어섰습니다. 모듈 지식의 열쇠가 여러분의 매혹적인 프로그래밍 모험의 나머지 부분을 안내하기를 바랍니다.