패킹과 언패킹 (*과 **)
요소들을 묶어주거나 풀어주는 것을 패킹, 언패킹이라고 한다.
변수명은 args나 kwargs가 아니어도 상관없으나 권장사항이다.
※매개변수와 인자의 별(*)의 개수에 따라※ 딕셔너리를 받을지 리스트를 받을지 결정한다.
1. 인자의 개수에 제한을 두고 싶지 않을 때 사용
def add(*args): # * 뜻: add 함수의 인자들을 다 args라는 변수에 집어넣겠다
print(args) # args는 튜플로 값을 가짐
result = 0
for i in args:
result += i
return result
number = [1, 2, 3, 4]
print(add(*number)) # *뜻 : 양쪽을 [괄호]를 풀어서 넣겠다
#인자의 값이 많아도, 값이 없어도 에러가 나지 않음
2. 인자로 받는 키의 개수를 제한하지 않을 때 사용
def dictionary(**kwargs): # kwargs는 딕셔너리
people = {}
people["age"] = kwargs.get("age", "-")
people["email"] = kwargs.get("email", "-")
people["name"] = kwargs.get("email", "-")
return people
person = {
"age": 25,
"email": "xxxx@gmail.com"
}
print(dictionary(**person))
# “name”이 존재하지 않으면 “-”를 출력
'Python' 카테고리의 다른 글
| [Python] 이터레이터(Iterator) (0) | 2023.03.22 |
|---|---|
| [Python] 컴프리헨션(Comprehension) (0) | 2023.03.22 |
| [Python] lambda식 (0) | 2023.03.21 |
| [Python] 함수(function) (0) | 2023.03.21 |
| [Python] 반복문 (0) | 2023.03.21 |