파이썬 기본 인자

PythonBeginner
지금 연습하기

소개

고대 이집트의 모래, 머리 위로 우뚝 솟은 피라미드, 신비와 역사가 깃든 풍경에 긴 그림자를 드리우는 모습을 상상해 보세요. 이 랩에서는 쿠푸 왕의 대피라미드 내에서 새로 발굴된 챔버 내부로 모험을 떠납니다. 챔버 벽에 새겨진 상형 문자는 올바른 주문으로 아바타를 소환하면 힘이 회복될 잃어버린 신에 대해 이야기합니다. 이 신은 특히 파이썬 프로그래밍의 비전 (arcane art) 에서 지혜와 지식을 부여하는 힘을 가지고 있다고 전해집니다.

우리의 목표는 챔버에 놓인 파이썬 퍼즐을 풀어서 이 신의 아바타를 소환하는 데 필요한 주문을 해독하는 것입니다. 이를 위해 우리는 피라미드 자체만큼이나 시대를 초월한 개념인 파이썬 함수에서 기본 인자 (default arguments) 의 사용을 마스터해야 합니다.

기본 인자를 가진 함수 생성

이 단계에서는 신의 챔버에 대한 첫 번째 봉인을 해제하는 데 도움이 되는 함수를 만들 것입니다. 파이썬 함수는 기본 인자 (default arguments) 를 가질 수 있으며, 함수가 호출될 때 특정 값이 제공되지 않으면 사용됩니다. 고대 주문을 기본 파워 레벨로 생성하는 함수를 만들어 이를 연습해 보겠습니다.

이제 즐겨 사용하는 텍스트 편집기를 사용하여 ~/project/incantation.py를 열고 두 개의 매개변수, 즉 spell (문자열) 과 power_level (기본값 5 를 가진 정수) 을 허용하는 cast_spell이라는 함수를 정의합니다.

incantation.py의 예시 코드:

def cast_spell(spell, power_level=5):
    return f"Invoking {spell} with a power level of {power_level}!"

## Test the function by calling it with and without specifying the power_level
print(cast_spell('Heka'))
print(cast_spell('Seshat', power_level=9))

코드를 실행하여 주문이 호출되는 것을 확인합니다.

python3 incantation.py

예상 출력:

Invoking Heka with a power level of 5!
Invoking Seshat with a power level of 9!

여러 기본 인자 처리

다음으로, 두 번째 봉인을 풀기 위해 여러 기본 인자를 사용하는 함수를 사용해 보겠습니다. 신에게 바쳐질 공물을 설명하는 함수를 만들 것입니다.

여전히 ~/project 디렉토리 내에서, incantation.py 파일에 make_offering이라는 새 함수를 추가합니다. 이 함수는 세 개의 매개변수, 즉 food (기본값 "grain"), incense (기본값 "frankincense"), gemstone (기본값 "lapis lazuli") 를 받습니다.

incantation.py의 예시 코드:

def make_offering(food="grain", incense="frankincense", gemstone="lapis lazuli"):
    return f"Offering {food}, {incense}, and {gemstone} to please the gods."

## Test the function with default and custom arguments
print(make_offering())
print(make_offering(food="dates", gemstone="turquoise"))

업데이트된 파일을 실행합니다:

python3 incantation.py

예상 출력:

Offering grain, frankincense, and lapis lazuli to please the gods.
Offering dates, frankincense, and turquoise to please the gods.

요약

이 랩에서는 고대 이집트 피라미드 모험을 배경으로 파이썬 기본 인자의 강력함을 탐구했습니다. 기본 매개변수를 사용하여 함수를 정의하고 필요에 따라 사용자 정의하는 방법을 배웠을 뿐만 아니라, 파이썬 구문과 이집트학의 매력을 결합하여 이집트 신의 마법을 활용했습니다.

이러한 작업을 완료함으로써 유연하고 재사용 가능한 파이썬 코드를 작성하는 데 도움이 될 귀중한 기술을 습득했습니다. 이제 기본 인자를 마스터했으므로, 피라미드만큼 수수께끼 같지만 맑고 달빛이 비치는 하늘 아래 열린 사막만큼 접근하기 쉬운 언어인 파이썬 세계에서 더 많은 비밀을 밝힐 준비가 되었습니다.