TIL12가변키워드인수 제대로 알자!!

chp9419·2021년 5월 19일
0
post-thumbnail

첫번째: 가변 키워드 인수가 중앙에 올 경우

def func_param_with_kwargs(name, age, **kwargs, address=0):
    print("name=",end=""), print(name)
    print("age=",end=""), print(age)
    print("kwargs=",end=""), print(kwargs)
    print("address=",end=""), print(address) 
func_param_with_kwargs("정우성", "20", mobile="01012341234", address="seoul")

이렇게 하면 당연히 터미널에서 그분이 반긴다.

SyntaxError: invalid syntax

이렇게 뜨는 이유는 파라미터 순서를 정확하게 지켜주지 않아서 이다.

앞시간에 *args를 무조건 뒤로 보내야지 에러를 만난지 않는다 했다. 이번에도 그렇다.

*args에서 **kwargs를 애스터리스크 두개가 붙어 있기 때문에 제일 뒤쪽으로 보내야지

올바르게 작동한다.

TIP: *args, **kargs에서 애스터리스크 다음에 있는 변수명은 아무거나 해도 상관없고
관례적으로 저렇게 많이 쓰기 때문에 저렇게 쓰는 것뿐이다!

*args는 튜플 형태 및 리스트 형태로 받는데 받는 인자값에 따라 달라진다!
kwargs는 딕셔너리 형태로 변수를 받는다!

올바르게 접근하면 아래와 같이 나오게 된다.

def func_param_with_kwargs(name, age,address=0, **kwargs ):
    print("name=",end=""), print(name)
    print("age=",end=""), print(age)
    print("kwargs=",end=""), print(kwargs)
    print("address=",end=""), print(address)
func_param_with_kwargs("정우성", "20", mobile="01012341234", address="seoul")
name=정우성
age=20
kwargs={'mobile': '01012341234'}
address=seoul
profile
주어진 문제는 해결하고 공부하고 성장한다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN