<TIL> Python - SyntaxError: non-default argument follows default argument
해당 error는 다음과 같은 코드에서 발생한다.
def func(a, b, c=3, d) :
print (a,b,c,d)
위의 코드에서 'c=3' 이라는 default argument 가 d라는 non-default argument 보다 앞에 위치해 있어서 발생하게 된 error이다.
왜 이런 error 가 발생하는걸까?
정답은 파이썬 언어의 인터프리터 방법에 있다
위의 코드에서 만약
func(1,2,5) 를 입력한다면 파이썬은 a=1, b=2 라고 받아들이지만, c=5 라는건지 d=5라는건지 인터프리터가 혼동하게 된다.
따라서 이러한 error 가 발생하지 않게 하기 위해서는
def func(a, b, d, c=3) :
print (a,b,c,d)
이런식으로 default 값이 정의된 argument 가 non-default arguments들의 뒤에 위치해 있으면 된다.
Author And Source
이 문제에 관하여(<TIL> Python - SyntaxError: non-default argument follows default argument), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jake93/TIL-Python-SyntaxError-non-default-argument-follows-default-argument저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)