파이썬에서 자주 보이는 연산자인 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 기능을 정리해보았습니다.
프로젝트 문서관리 Tortoise SVN 툴 사용법,한글팩 설치 방법 (0) | 2019.12.29 |
---|
댓글 영역