네이버 부스트코스 강좌 정리입니다.
- Asterisk
# 함수의 인자수가 정해져있지 않은 경우
def asterisk_test(a, *args):
print(a, args)
print(type(args))
asterisk_test(1,2,3,4,5,6)
# 1을 제외한 나머지는 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을 제외한 나머지는 dict로 묶임
#################################################################################
- unpacking container로써의 *
def asterisk_test(a, args): # 인자를 받고
print(a, *args) # *를 붙여 unpacking # tuple내의 원소가 언패킹됨
print(type(args))
asterisk_test(1, (2,3,4,5,6))
########################################################################################
a, b, c = ([1, 2], [3, 4], [5, 6])
print(a, b, c)
data = ([1, 2], [3, 4], [5, 6])
print(*data)
# 같은 결과
########################################################################################
for data in zip(*([1, 2], [3, 4], [5, 6])): # tuple 언패킹되어 3개의 리스트 zip연산
print(sum(data))
########################################################################################
def asterisk_test(a, b, c, d, e=0): # 5개의 인자를 받음
print(a, b, c, d, e)
data = {"d":1 , "c":2, "b":3, "e"=56}
asterisk_test(10, **data) # dict를 언패킹하여 함수 인자의 key에 맞추어 지정됨
# 결과 - 10 3 2 1 56
# e의 경우 0이 아닌 56으로
'Python > 부스트코스_노트' 카테고리의 다른 글
Pythonic Code - news categorization (0) | 2020.02.24 |
---|---|
Pythonic Code - map & reduce (0) | 2020.02.22 |
Pythonic Code - enumerate & zip (0) | 2020.02.22 |