3.8에 함수 파라메터를 정의하는 재밌는 방법이 추가됐다. '/'로 구분하면 그 뒤는 순서대로 넘기거나 키워드로 넘길 수 있다.
def func(posonly1, posonly2, /, positional_or_keyword): ...
예)
def func1(p1, p2, /, p3, p4):
print(p1, p2, p3, p4)
func1(1, 2, 3, 4)
func1(1, 2, p3=3, p4=4)
3.7에서도 비슷한 방법이 있었는데, '*'로 구분해 그 뒤는 무조건 키워드로 넘겨야한다.
def func(arg, *, kw_only1, kw_only2): ...
예)
def func2(p1, p2, *, p3, p4):
print(p1, p2, p3, p4)
# func2(1, 2, 3, 4) <- TypeError: func2() takes 2 positional arguments but 4 were given
func2(1, 2, p3=3, p4=4)
'개발 > 파이썬' 카테고리의 다른 글
Flask-SQLAlchemy의 Column에 subquery 사용 (0) | 2020.12.21 |
---|---|
Python으로 http 서버 띄우기 (0) | 2020.12.16 |
Flask-restx와 webargs에서 TypeError 처리 (0) | 2020.12.07 |
문자열을 결합하는 몇가지 방법 (0) | 2020.12.03 |
print로 개행 없이 출력 (0) | 2020.02.07 |
댓글