파이썬 3.8은 위치 인자 만 도입했기 때문에이 게시물은 업데이트가 필요합니다.
위치 인수, 키워드 인수, 필수 인수 및 선택적 인수는 종종 혼동됩니다. 위치 인수 는 필수 인수와 동일하지 않습니다 . 및 키워드 인수 는 선택적 인수와 동일하지 않습니다 .
위치 인수 는 함수 정의에서 해당 위치로 호출 할 수있는 인수입니다.
키워드 인수 는 이름으로 호출 할 수있는 인수입니다.
필수 인수 는 함수에 전달해야하는 인수입니다.
선택적 인수 는 함수에 전달할 수없는 인수입니다. 파이썬에서 선택적 인수는 기본값 이있는 인수입니다. .
선택적 위치 인수 (python 3.8)
def f(a=2, /):
pass
f()
f(1)
f(a=1)
필요한 위치 인수 (python 3.8)
def f(a, /):
pass
f()
f(1)
f(a=1)
선택적 키워드 인수
def f(*, a=1):
pass
f()
f(1)
f(a=1)
필수 키워드 인수
def f(*, a)
pass
f() # Error, argument required
f(1) # Error, keyword only arguments
f(a=1) # Allowed, it's a keyword argument
선택적 위치 및 키워드 인수
def f(a=1)
pass
f() # Allowed, argument is optional
f(1) # Allowed, it's a positional argument
f(a=1) # Allowed, it's a keyword argument
# In fact this function is the same as
def f(*, a=1, /):
pass
필수 위치 및 키워드 인수
def f(a):
pass
f()
f(1)
f(a=1)
def f(*, a, /):
pass
결론적으로, 인수는 동시에 둘 다가 아니라 선택 사항이거나 필수 사항 일 수 있습니다 . 위치, 키워드 또는 동시에 둘 다일 수도 있습니다 .
Python 3.8은 위치 전용 매개 변수를 도입했습니다 .
def f(positional_argument, /, positional_or_keyword_argument, *, keyword_argument):
pass