위의 예제와 같이, default argument name = "Kim"
가 non-default argument gender
앞에 오는 경우, 파이썬에서는 SyntaxError
가 발생한다.
파이썬에서 argument를 가지는 함수를 정의할 경우, non-default argument는 필수요소(mandatory)인 반면, default argument는 필수가 아니다. 위와 같이 필수적인 요소가 뒤에 오게 되는 경우, 인터프레터는 어떤 값이 어떤 argument와 매치 시켜야 하는지를 해석할 수 없게 된다.
위의 예제에서 살펴보면, name이 default 로 지정되어 있어서, greetings()
를 불러올때는 gender에 들어갈 female만 입력하였다. 하지만 인터프레터는 여기서 받은 female 이란 값을 name or gender에 적용 시킬지를 판단할 수 없다.
positional or keyword argument를 사용하여 다음과 같은 방법으로 해결할 수 있다.
참고링크: https://stackoverflow.com/questions/16932825/why-cant-non-default-arguments-follow-default-arguments
변수 이름은 영어 알파벳과 숫자 그리고 underscore (_) 으로만 구성
변수 이름 첫글자는 알파벳(abc)이나 underscore(_)로만 시작. 숫자 불가.
영어 알파벳은 대문자와 소문자가 구분 (case sensitive)
f"string {variable}"
f"{function name(argument)} string"
리스트의 일부분을 따로 copy하는 법.
index에는 정수만 사용가능, 즉 정수 나누기에 유용.
slicing만으로는 리스트는 업데이트 되지 않으므로, 새 변수에 저장해야 함.
format : list_name[start : stop : step]
( )
**
*, / , %
+ , -
my_tuple[1:2]