*는 복수의 데이터를 가진 변수다.
a = [1, 2, 3, 4, 5]
b, *c = a
print(b, c) // 1, [2, 3, 4, 5]
의 형태로 b에는 a의 요소가 하나 대입되고, c에는 복수의 데이터가 들어갈 수 있으니
나머지 [2, 3, 4, 5]가 모두 대입되었다.
반대로
*b, c = a 의 경우
b == [1, 2, 3, 4] // c == 5 // 의 결과가 나온다.
하지만, *변수가 함수의 매개변수가 될 경우, (a, b*)와 같이 일반 변수가 앞에 나오고 마지막에 *변수가
사용되면 문제가 없지만, (a*, b)와 같이 *변수가 먼저 사용되고 일반 변수가 들어가면 에러가 발생한다.
**변수는 키: 밸류의 형태인 매핑변수가 여러 개 들어갈 경우 사용된다.
def body(height, weight, **k):
print(height)
print(weight)
print(k)
body(height=170, weight= 80, age=27, name='수한무')
170
80
{age: 20, name: '수한무'}
형태로 저장된다.
'파이썬' 카테고리의 다른 글
6주차, 모듈, 패키지 정리, __name__ (0) | 2022.01.25 |
---|---|
6주차, 함수명을 변수로 할당 (0) | 2022.01.24 |
6주차, 외장함수 (time, os, sys 요약) (0) | 2022.01.24 |
6주차, 파이썬 내장함수(enumerate, zip, map, filter) (0) | 2022.01.24 |
5주차 lambda 함수 (0) | 2022.01.20 |
댓글