728x90
안녕하세요 오늘은 우연하게 알게된 파이썬의 모르는 문법들을 설명해드리려고 합니다.
위치기반 매개변수(positial only) 키워드기반 매개변수(keyword only) 입니다.
def function(a,b,c,d,e,f):
print(a,b,c,d,e)
다들 많이 함수에서 쓰기 때문에 아실수도 있지만 생소한 내용입니다.
* , / 를 활용해서, 위치기반과, 키워드기반을 지정을 할 수 있습니다.
def function(a,b,/,*,e,f)
foo(1,2)
foo(a=1,b=2)
foo(1,2,"","")
첫번째 foo 함수는 정상적으로 실행이 됩니다.
두번째는 error 가 나는데요. 위치기반 파라미터이기 때문입니다.
세번째 역시 키워드기반이기 때문에 명시를 해주어야합니다. 파라미터를
아래의 예제를 통해 조금 더 쉽게 이해해보세요.
def foo(a, b, /, c, d, *, e, f):
print(a, b, c, d, e, f)
# 올바른 호출 예제
foo(1, 2, 3, 4, e=5, f=6)
# 잘못된 호출 예제
# foo(a=1, b=2, 3, 4, e=5, f=6) # a와 b는 위치 기반 매개변수이므로 키워드를 사용할 수 없습니다.
# foo(1, 2, 3, 4, 5, 6) # e와 f는 키워드 기반 매개변수이므로 위치 기반으로 전달할 수 없습니다.
728x90
'Python' 카테고리의 다른 글
[파이썬] python review (0) | 2022.10.25 |
---|---|
[파이썬] 웹 프로그래밍 (0) | 2021.02.07 |
[파이썬] MySQL (0) | 2021.02.06 |
[파이썬] 기본 네트워크 & 데이터 처리 (0) | 2021.01.31 |
[파이썬] 자료규조 (0) | 2021.01.31 |