상세 컨텐츠

본문 제목

파이썬 Asterisk(*) 4가지 능력 알아보기

IT 공부

by 듀_77 2021. 2. 25. 11:40

본문

반응형

파이썬에서 자주 보이는 연산자인 Asterisk(*)는

총 4가지 기능을 가지고 있다.

잘 쓰이는 건 곱셈이지만,

파이썬스럽게 (Pythonic) 사용할 수 있는

숨겨진 방법들이 있다.

 

1. 곱셈과 거듭제곱

2. 리스트 복사 (=확장)

3. 가변인자(Variadic Parameters) 파라미터로 넘기기

4. Unpacking 

 

1. 곱셈, 거듭제곱

*은 곱하는 연산

**은 거듭제곱을 해줍니다.

 

2**3은

2³=2*2*2

즉, 8이 출력됩니다.

 

*추가 정보

 

파이썬 3.8 버전부터 math 모듈에

prod 함수가 생겼습니다.

곱셈도 sum 함수처럼 처리가 가능해요.

 

import math 를 써주고,

 

numbers= [1,2,3,4,5]

print(math.prod(numbers)) 

 

→ 120 출력.

2. 리스트 복사 (=데이터 확장)

 

결국 곱셈의 응용입니다.

리스트 안의 데이터 양의 개수를 늘릴 수 있습니다.

연산이 아니라, '갯수'를 늘려줌으로써

데이터를 확장시켜줍니다.

 

append와 extend를 사용해도 늘릴 수 있는데요.

파이썬의 asterisk를 쓰는 것도 가능합니다.

3. 가변인자 (Variadic Paraments)

 

keyword argument와 positional argument

호출시 파이썬 asterisk(*)를 쓰기도 합니다.

 

키워드를 가진 인자: keyword argument

위치에 따라 정해지는 인자: postional argument

 

위 사진과 같이 리스트형 데이터를 불러올 때는

*args를 씁니다.

 

딕셔너리 데이터를 불러올 때는

**kwargs를 씁니다. 

 

-댓글에 참고 링크 달겠습니다.

4. Unpacking

 

3번을 응용한 과정입니다.

unpacking을 우리 말로 하면 '풀어놓는다'는 거죠.

 

여기서는 파이썬의 asterisk(*) 기호를

사용해 일종의 짐을 꾸린다는 의미가 됩니다.

 

코드 길이를 줄이기 위해서

리스트의 데이터를 unpacking해준 후

함수에 전달하는 거에요.

 

① unpacking() 함수가 가변인자로 *numbers를 받습니다.

② asterisk를 활용해서 *numbers를 쓰면_

primes에 있는 리스트값들이 모두 numbers 리스트에 저장.

→ *numbers를 사용하지 않을 경우:

일반 numbers 변수를 쓰게 되면,

 

primes 안에 있는 리스트 값들을 인식하는 게 아니라,

primes 자체 변수 하나만을 인식합니다.

 

그러니 리스트 안의 값들을 호출하고 싶다면,

*numbers를 쓰세요!

 

★ 튜플(tuple) 데이터일 경우, **numbers를 쓰면 됩니다 :)

 

이상 파이썬 asterisk 기능을 정리해보았습니다.

반응형

관련글 더보기

댓글 영역