파이썬에서의 언패킹(Deconstructing)
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- Python 개발자 초보자 및 중급자
- 기초 수준 (파이썬 언패킹, 함수 인자 전달 방식 이해 필요)
핵심 요약
- 언패킹은 리스트, 튜플, 딕셔너리에서 값을 추출하여 단일 명령문으로 변수에 할당하는 기법입니다.
- 예:
name, position = ("oscar", "accountant")
*
연산자는 여러 값이 포함된 컬렉션을 함수 인자로 전달할 때 사용됩니다.- 예:
print_names(*employee_list)
연산자는 딕셔너리의 키-값 쌍을
kwargs
로 함수에 전달하는 데 사용됩니다.- 예:
print_employee_info(**employee)
섹션별 세부 요약
1. 언패킹 기본 개념
- 튜플, 리스트, 딕셔너리에서 값을 변수에 할당할 수 있습니다.
- 예:
branch_name, active = {"name": "scranton", "is_active": True}.values()
- 변수 순서가 컬렉션의 순서와 일치해야 합니다.
- 딕셔너리 언패킹 시 키 이름과 변수 이름은 일치하지 않아도 됩니다.
- 예:
branch_name
은"name"
키에,active
는"is_active"
키에 매핑됨
2. `*` 연산자 활용
연산자는 가변 인자 목록(args)으로 함수에 전달할 때 사용됩니다.
- 예:
print_names(*employee_list)
- 컬렉션의 요소를 개별 인자로 펼침하여 함수에 전달 가능.
3. `**` 연산자 활용
연산자는 명명된 인자(kwargs)로 딕셔너리의 키-값 쌍을 함수에 전달합니다.
- 예:
print_employee_info(**employee)
- 딕셔너리의 키 이름이 함수의 파라미터 이름과 일치해야 정상 작동.
- 예:
employee["name"]
→name
,employee["age"]
→age
4. `*args`와 `**kwargs`의 차이점
*args
는 비명명 인자를 전달하며, 순서가 중요합니다.kwargs
는 명명된 인자**를 전달하며, 키 이름이 함수 파라미터와 일치해야 합니다.
결론
- 언패킹은 코드의 가독성을 높이고, 복잡한 데이터 구조를 간결하게 처리하는 데 유용합니다.
*
와연산자는 함수 인자 전달 시 중요한 역할을 하므로, 사용 시 순서와 키 이름 일치 여부를 반드시 확인**해야 합니다.