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
반응형
'Programming > Python' 카테고리의 다른 글
[Python] UserWarning 숨기는 법 / 경고메세지 숨기기 (0) | 2022.01.26 |
---|---|
Transforms.Normalize()의 역할 (0) | 2022.01.25 |
[sklearn] Target is multiclass Error 해결 (0) | 2022.01.18 |
[Pandas] DataFrame 모든 행, 열 출력하기 (0) | 2021.12.01 |
[Python] max 내장 함수와 선택인자(key, default) (0) | 2021.12.01 |