320x100
#1 개요
이건 신기한 구조적 접근이다.
a = (1,2,3)
b = [1,2,3]
이라고 할때
사실상 a 와 b는 각각 인자를 3개씩 품고 있다.
그리고 만약에 a에 b를 대응하려고
a(b)라고 하게 되면
TypeError: missing required positional arguments
라는게 뜨게 된다.
파이썬은 기본적으로 one to one으로 대응되게 설계되어있는게 기본값이기 때문이다.
하지만 a와 b처럼 다대다의 경우는
a(*b)
라고 해주게 될 경우 대응되게 된다.
*을 한개 붙여주는 것을 unpack이라고 부르는데
이름을 보아하니, 몇개가 되었든 2개 이상의 인자들을 한 보따리로 뭉뚱그려서 일단은 인자에 넣어주고,
그 넣어준 다음에 한개씩 풀어주며 대응한다는 느낌같다.
#2 실제 코드적 접근
def myfn(a, b, c):
print(f'a = {a}, b = {b}, c = {c}')
abc = [1, 2, 3]
myfn(*abc)
300x250
'개발일지 > Django' 카테고리의 다른 글
Django - URL Reverse와 get_absolute_url()의 관계 (0) | 2023.01.14 |
---|---|
Django - 장식자(Decorator) - (로그인관련) (1) | 2023.01.14 |
Django -django-debug-toolbar 설치 및 활용 문제 해결! (0) | 2023.01.09 |
Django - models 명령문 (filter, exclude, order_by, __lte) (0) | 2023.01.09 |
Django - File Upload Handler(장고 파일 업로드 크기 조정) (0) | 2023.01.09 |