본 글은 BoostCourse에서 '머신러닝을 위한 파이썬' 강의를 듣고 작성한 글입니다.
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'>
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'>
unpacking
(2, 3, 4, 5, 6)이 하나의 tuple이므로 args[0]이라고 적어야 한다.
print(a, args)라고 적으면 1 ((2, 3, 4, 5, 6), )의 결과가 나온다.
def asterisk_test(a, *args):
print(a, args[0])
print(type(args))
asterisk_test(1, (2, 3, 4, 5, 6))
#1 (2, 3, 4, 5, 6)
#<class 'tuple'>
a, b, c = ([1, 2], [3, 4], [5, 6])
print(a, b, c)
#[1, 2] [3, 4] [5, 6]
data = ([1, 2], [3, 4], [5, 6])
print(*data)
#[1, 2] [3, 4] [5, 6]
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
for data in zip(*([1, 2], [3, 4], [5, 6])):
print(data)
#(1, 3, 5)
#(2, 4, 6)
'Python' 카테고리의 다른 글
| [Python] [정수 다루기] n진법으로 표기된 string을 10진법 숫자로 변환하기 (0) | 2021.01.09 |
|---|---|
| [Python] [정수 다루기] 몫과 나머지 - divmod (0) | 2021.01.09 |
| [Python] lambda & map & reduce (0) | 2021.01.06 |
| [Python] join과 split (0) | 2021.01.05 |
| [Python] 문자열 소문자 또는 대문자로 바꾸기 (0) | 2021.01.05 |