0Pricing
Python Academy · 강의

기본 인수와 키워드 인수

기본 매개변수 값과 키워드 호출 문법을 사용합니다.

기본 인수와 키워드 인수은(는) CoddyKit의 무료 Python Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Python Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

소개

기본 매개변수 값과 키워드 호출 문법을 사용하면 Python 함수를 유연하고 이해하기 쉽게 작성할 수 있습니다.

기본 매개변수 값

def greet(name, greeting='Hello'):는 greeting에 기본값을 지정합니다. 호출할 때 greeting을 생략할 수 있습니다.
def greet(name, greeting='Hello'):
    print(f'{greeting}, {name}!')
greet('Alice')
greet('Bob', 'Hi')

키워드 인수

이름을 지정하여 호출합니다: greet(name='Alice', greeting='Hi'). 키워드 인수를 사용하면 순서는 중요하지 않습니다.
def describe(name, age, city):
    print(f'{name}, {age}, {city}')
describe(age=30, city='NYC', name='Alice')

위치 인수와 키워드 인수 함께 사용하기

호출할 때 위치 인수는 키워드 인수보다 앞에 와야 합니다. describe('Alice', city='NYC', age=30)은 올바른 호출입니다.
def f(a, b, c='default'):
    print(a, b, c)
f(1, c='X', b=2)

변경 가능한 기본값의 함정

변경 가능한 기본값은 NEVER 사용하지 마세요: def f(lst=[])는 모든 호출에서 같은 리스트를 공유합니다. 대신 def f(lst=None): lst = lst or []를 사용하세요.
def append(x, lst=None):
    if lst is None:
        lst = []
    lst.append(x)
    return lst
print(append(1))
print(append(2))

키워드 전용 인수

* 뒤에 오는 매개변수는 키워드로 호출해야 합니다: def f(a, *, b):에서는 b만 위치 인수로 전달할 수 없습니다. 이를 통해 코드의 명확성을 높일 수 있습니다.
def f(a, *, b):
    return a + b
print(f(1, b=2))

위치 전용 인수(3.8 이상)

/ 앞에 오는 매개변수는 위치 인수여야 합니다: def f(a, b, /, c):에서는 a와 b를 키워드로 호출할 수 없습니다.
def f(a, b, /, c=0):
    return a + b + c
print(f(1, 2, c=3))

**kwargs

def f(**kwargs)는 추가 키워드 인수를 사전으로 모읍니다. 옵션을 전달할 때 유용합니다.
def show(**kwargs):
    for k, v in kwargs.items():
        print(f'{k}={v}')
show(name='Alice', age=30)

*args와 **kwargs 결합하기

def f(*args, **kwargs)는 위치 인수와 키워드 인수를 어떤 조합으로든 받을 수 있습니다.
def debug(*args, **kwargs):
    print('args:', args)
    print('kwargs:', kwargs)
debug(1,2,x=3)

호출할 때 언패킹하기

f(*[1,2,3])은 리스트의 요소를 위치 인수로 펼칩니다. f(**{'a':1})은 사전의 항목을 키워드 인수로 펼칩니다.
def add(a, b, c): return a+b+c
d = {'a':1,'b':2,'c':3}
print(add(**d))

부분 적용

from functools import partial; double = partial(pow, exp=2)는 일부 인수를 미리 고정합니다.
from functools import partial
def power(base, exp): return base ** exp
square = partial(power, exp=2)
print(square(5))

빠른 확인

def f(lst=[])과 같이 변경 가능한 기본 인수를 사용할 때의 위험은 무엇인가요?

복습

기본 인수는 def f(x=val)처럼 지정합니다. 키워드 호출은 f(x=val)처럼 사용합니다. 변경 가능한 기본값은 피하세요. *는 키워드 전용 인수에, /는 위치 전용 인수에, **kwargs는 추가 인수를 모으는 데 사용합니다.

계속 진행하기

훌륭합니다! 다음 lesson으로 이동하여 계속 발전해 보세요.

자주 묻는 질문

“기본 인수와 키워드 인수” 강의는 무료인가요?

네 — “기본 인수와 키워드 인수” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Python Academy 강의 전체를 잠금 해제할 수 있습니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“기본 인수와 키워드 인수”에서 뭘 배우나요?

기본 매개변수 값과 키워드 호출 문법을 사용합니다. 브라우저에서 직접 실행하는 실습 코드로 Python Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Python Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Python Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“기본 인수와 키워드 인수” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Python Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Python Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 함수 정의와 호출
  2. 기본 인수와 키워드 인수
  3. args와 kwargs
  4. 반환 값과 범위
← Python Academy(으)로 돌아가기