728x90
반응형
- 파이썬 패킹(packing)은 여러 개의 값을 하나의 변수로 묶는 과정
- 파이썬 언패킹(unpacking)은 묶인 값을 여러 개의 변수로 분리하는 과정
패킹 (PACKING)
- 파이썬에서 패킹은 여러 개의 값을 하나의 변수로 묶는 것을 의미합니다.
- 리스트, 튜플 같은 자료형을 묶을 때 주로 사용되며, 가변인자 사용시에도 유용하게 사용 됩니다.
튜플 패킹
a = 1, 2, 3, 4
print(a)
# (1, 2, 3, 4)
리스트 패킹
a = [1, 2, 3, 4]
print(a)
# [1, 2, 3, 4]
* 연산자를 사용한 패킹 (*, ** 가변 인자 패킹)
- 가변 인자를 사용하는 함수는 튜플이나 리스트를 매개변수로 받게 되면 요소 갯수에 상관 없이 모두 받을 수 있다.
def func_packing (*arg) :
print(arg)
func_packing(1, 2, 3)
# (1, 2, 3)
- 가변 인자를 딕셔너리 자료형으로 받는 방법 입니다.
def func_packing (**arg) :
print(arg)
func_packing(a=1, b=2, c=3)
# {'a': 1, 'b': 2, 'c': 3}
가변 함수를 사용한 활용 예제
def func_packing (*arg) :
total = 0
for i in arg :
total += i
print(arg, total)
func_packing(1, 2)
func_packing(3, 4, 5)
func_packing(6, 7, 8, 9)
'''
실행 결과
(1, 2) 3
(3, 4, 5) 12
(6, 7, 8, 9) 30
'''
def func_packing (**arg) :
print(arg)
for k, v in arg.items() :
print(k, v)
func_packing(a=1, b=2)
'''
실행 결과
{'a': 1, 'b': 2}
a 1
b 2
'''
func_packing(a=3, b=4, c=5)
'''
실행 결과
{'a': 3, 'b': 4, 'c': 5}
a 3
b 4
c 5
'''
func_packing(a=6, b=7, c=8, d=9)
'''
실행 결과
{'a': 6, 'b': 7, 'c': 8, 'd': 9}
a 6
b 7
c 8
d 9
'''
언패킹 (UNPACKING)
- 파이썬에서 언패킹은 패킹된 값을 여러 개의 변수로 분리하는 것을 의미합니다.
- 주로 리스트나 튜플 같은 자료형에 묶여 있는 여러 값을 각각의 변수에 할당할 때 사용합니다.
튜플 언패킹
a, b, c = (1, 2, 3)
print(a) # 1
print(b) # 2
print(c) # 3
리스트 언패킹
a, b, c = [1, 2, 3]
print(a) # 1
print(b) # 2
print(c) # 3
* 연산자를 사용한 언패킹
*a, b, c = [1, 2, 3, 4, 5]
print(a) # [1, 2, 3]
print(b) # 4
print(c) # 5
a, *b, c = [1, 2, 3, 4, 5]
print(a) # 1
print(b) # [2, 3, 4]
print(c) # 5
a, b, *c = [1, 2, 3, 4, 5]
print(a) # 1
print(b) # 2
print(c) # [3, 4, 5]
함수에서의 언패킹 예제
def func_unpacking (a, b, c, *d) :
print(a)
print(b)
print(c)
print(d)
arg = [1, 2, 3, 4, 5]
func_unpacking(*arg)
'''
실행 결과
1
2
3
(4, 5)
'''
def func_unpacking (a, b, c, **d) :
print(a)
print(b)
print(c)
print(d)
arg = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
func_unpacking(**arg)
'''
실행 결과
1
2
3
{'d': 4, 'e': 5}
'''
728x90
반응형
'프로그래밍 > [Python] 파이썬' 카테고리의 다른 글
[Python] 파이썬 조건문 - if, elif, else (0) | 2024.09.14 |
---|---|
[Python] 파이썬 삼항 연산자 (0) | 2024.09.13 |
[Python] 파이썬 관계 연산자, 논리 연산자 - 기본 연산자 (0) | 2024.09.10 |
[Python] 파이썬 이스케이프 문자 정리 (0) | 2024.09.09 |
[Python] 파이썬 숫자 각 자리수 분리 5가지 방법 (0) | 2024.09.08 |