(Machine) 3. Asterisk
1. 학습 목표
단순 곱셈, 제곱연산, 가변인자 활용 등 여러 부분에서 다양하게 사용되는 Asterisk(*) 의 사용법을 여러 예제 코드를 직접 실습하며 공부합니다.
2. Asterisk - args
- 흔히 알고 있는 *를 의미함
- 단순 곱셈, 제곱연산, 가변 인자 활용 등 다양하게 사용됨
1) Asterisk 코드 예제
- asterisk(*)를 인자값으로 사용한 예
- 가변인자는 튜플타입으로 들어감
def asterisk_test(a, *args):
print(a, args)
print(type(args))
asterisk_test(1,2,3,4,5,6)
# =======출력 값 ======
1 (2, 3, 4, 5, 6)
<class 'tuple'>
- 키워드 인자값으로 asterisk(*)를 사용할 경우 ** 을 사용한다.
- 가변인자는 딕셔너리 타입으로 들어감
def asterisk_test(a, **kargs):
print(a, kargs)
print(type(kargs))
asterisk_test(1, b=2, c=3, d=4, e=5, f=6)
# =======출력 값 ======
# 1 {'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
# <class 'dict'>
3. Astrisk - unpacking
- tuple, dict 등 자료형에 들어가 있는 값을 unpacking
- 함수의 입력값, zip 등에 유용하게 사용가능
# unpacking 예제 1
def asterisk_test(a, args):
print(a, *args)
print(type(args))
asterisk_test(1,(2,3,4,5,6))
# =======출력 값 ======
# 1 2 3 4 5 6
# <class 'tuple'>
# unpacking 예제 2
a, b, c = [(1,2),(3,4),(5,6)]
print(a,b,c)
data = [(1,2),(3,4),(5,6)]
print(*data)
# =======출력 값 ======
# (1, 2) (3, 4) (5, 6)
# unpacking 예제 3 (**)
def asterisk_test(a, b, c, d):
print(a, b, c, d)
data = {"b":1 , "c":2, "d":3}
asterisk_test(10, **data)
# =======출력 값 ======
# 10 1 2 3
# upacking 예제 4
for data in zip(*[(1,2),(3,4),(5,6)]):
print(data)
# =======출력 값 ======
# (1, 3, 5)
# (2, 4, 6)
댓글남기기