패킹과 언패킹 (*과 **)

    요소들을 묶어주거나 풀어주는 것을 패킹, 언패킹이라고 한다.

 

    변수명은 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

+ Recent posts