본문 바로가기

Programming/Python

[Python] asterisk - Unpacking의 역할

728x90
반응형

asterisk는 바로 * 를 의미한다.

*를 보면 아마 대부분 가장 먼저 곱하기 연산이 생각날 것이다. (또는 ** 제곱연산?)

 

그러나 *는 그 외에도 다양한 역할을 하는데 그 중 하나는 바로 unpacking의 역할이다.

tuple이나 dict와 같은 자료형에 있는 값들을 unpacking 할 수 있는데 이 말로는 잘 이해가 안갈 수 있으니 예제를 살펴보자

unpacking이 많이 사용되는 부분 중 하나는 바로 print함수이다.

다음과 같은 리스트가 있을 때 *를 통해 리스트로 묶인 값을 unpacking 해줄 수 있다.

 

>>> a = [1, 2, 3, 4, 5]
>>> print(a)
[1, 2, 3, 4, 5]
>>> print(*a)
1 2 3 4 5

 

이는 코딩 테스트 연습을 할 때도 매우 유용한 기능 중 하나이다!

백준과 같이 출력까지 신경써야 하는 코딩 사이트에서 asterisk 기능을 사용하지 않으면 아래와 같이 하나하나 출력해주어야 한다.

asterisk를 사용하면 훨씬 간단하고 편리하게 사용할 수 있다는 것!

(사실 *을 붙이면 이렇게 나온다는 건 알았는데 이유는 이번에 알았다.. unpacking 기능이 있기 때문이라는 것을...!)

 

for i in a :
   print(a, end = ' ')

 

 

그 외에도 길이가 정해지지 않은, 가변인자를 사용하는데에도 asterisk에 대해서는 다음 글에서 설명하겠다. 

728x90
반응형