파이썬에서의 패킹과 언패킹의 의미 및 사용에 대해서 정리해보았습니다.
1. 패킹(packing)
📝 패킹(packing) 이란?
한 변수에 여러 개의 데이터를 할당하여, 여러개의 객체를 하나의 객체로 합쳐주는 것 → 묶는다!
✔️ 리스트에서의 패킹
# 1, 2, 3 을 변수 list_p에 패킹
list_p = [1, 2, 3]
✔️ 튜플에서의 패킹
# 학생 이름과 학번으로 묶기
student = ('홍길동', 20220423)
print(student) # result : ('홍길동', 20220423)
# 튜플 패킹 시 소괄호 없어도 됨
student = '홍길동', 20220423
print(student) # result: ('홍길동', 20220423)
✔️ 함수에서의 패킹
def return_tuple():
return 10, 20, 30
pack = return_tuple()
print(pack)
# result : (10, 20, 30)
2. 언패킹(unpacking)
📝 언패킹(unpacking) 이란?
패킹과 반대되는 개념으로, 한 변수의 데이터를 각각의 변수로 반환하는 것 → 묶인 걸 푼다!
✔️ 리스트에서의 언패킹
list_p = [1, 2, 3]
# 각각의 요소로 리스트 언패킹하기
a , b, c = list_p
print(a, b, c)
# result : 1 2 3
✔️ 튜플에서의 언패킹
# 패킹된 개체
student = '홍길동', 20220423
# 각각의 변수로 언패킹 하기
name, stud_num = student
print(name, stud_num)
# result : 홍길동 20220423
✔️ 튜플에서의 언패킹2
: * 를 사용하여 일부를 하나의 변수로 묶을 수 있다.
packs = 1, 2, 3, 4, 5, 6, 7
p1, p2, *others = packs
print("* p1: {}".format(p1))
# result : * p1: 1
print("* p2: {}".format(p2))
# result : * p2: 2
print("* others: {}".format(others))
# result : * others: [3, 4, 5, 6, 7]
✔️ 함수에서의 언패킹
: * 을 사용 시 언패킹하여 각각의 매개변수에 전달
def stock(name, price):
print(name)
print(price)
stock_ = '삼성전자', '8만전자 제발'
# * 을 사용 시 stock_ 값을 언패킹하여 각각의 매개변수에 전달
stock(*stock_)
# result: 삼성전자\n8만전자 제발
반응형