본문 바로가기
Computer Science/Programming-Python

Asterisk

by M-life 2019. 5. 6.
반응형

Asterisk : unpacking a container

 tuple, dict 등 자료형에 들어가 있는 값을 unpacking

 함수의 입력값, zip 등에 유용하게 사용가능



-. tuple을 넘김

1
2
3
4
5
6
def asterisk_test(a, *args):
    print(a, args)
    print(type(args))
 
asterisk_test(123456)
 
cs

Output : 

1 (2, 3, 4, 5, 6)

<class 'tuple'>




-. dict를 넘길 때는 **를 두번씀

1
2
3
4
5
def asterisk_test(a, **kargs):
    print(a, kargs)
    print(type(kargs))
 
asterisk_test(1, b = 2, c = 3, d = 4, e = 5, f = 6)
cs



Output : 

1 {'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}

<class 'dict'>


* 한번만 기재 시 아래와 같은 오류 발생 : asterisk_test() got an unexpected keyword argument 'b'



-. 풀어서 던지고, 묶어서 받고~

1
2
3
4
5
6
def asterisk_test(a, *args):
    print(a, args)
    print(a, args[0])
    print(type(args))
 
asterisk_test(1, (23456))
cs


Output : 

1 ((2, 3, 4, 5, 6),)

1 (2, 3, 4, 5, 6)

<class 'tuple'>



1
2
3
4
5
6
7
a, b, c = ([12], [34], [56])
print(b)
print(a, b, c)
 
data = ([12], [34], [56])
print(data)
print(*data)
cs

Output : 
[3, 4]
[1, 2] [3, 4] [5, 6]
([1, 2], [3, 4], [5, 6])
[1, 2] [3, 4] [5, 6]


반응형

'Computer Science > Programming-Python' 카테고리의 다른 글

Lambda & MapReduce  (0) 2019.05.06
Enumerate & Zip  (0) 2019.05.06
[자료구조3#] Dictionary  (0) 2019.05.06
[자료구조2#] Tuple  (0) 2019.05.06
[자료구조1#] List  (0) 2019.05.06

댓글