[Python] 파이썬 *의 다양한 쓰임새

조시현·2022년 7월 11일
0

Python

목록 보기
2/8
  1. 곱셈과 거듭제곱
  • 2 * 3 = 6
  • 2 ** 3 = 8

  1. 리스트형 컨테이너 타입의 데이터 반복 확장
ones_list = [1] * 100

ones_tuple = (1) * 100

3. 가변인자

가변인자란 이름 그대로 길이가 변할 수 있는 argument를 말한다.

여러 api나 잘 짜여진 코드를 구경하다 보면 함수에 *arg나 **kwargs 라고 되어있는 표현을 많이 볼 수 있다.

나는 자바의 함수를 정의할때 자주 봤던 것이여서 익숙하기도 하였고
(파이썬만 했는데 다시 자바 공부를 하고 싶다는 의욕이 솓는다...)

이게 바로 가변인자를 사용하겠다는 의미이다.

def args_function(*args):
	print(args)

def kwargs_function(**kwargs):
	print(kwargs)
    
args_function('a','b')
> ('a','b')

kwargs_function(a = 100, b = 200) 
>{'a': 100, 'b':200}

4. unpacking

내가 이 글을 쓰게 된 이유이다.

list를 순회하는 출력문을 짜는 코드가 있었는데
나는 무식하게 반복문을 이용하여서 코드를 짯는데 훨씬 편한 방법을 이용한 좋은 코드가 있어서 보았더니 이 방법을 사용하여서 *에 대해서 공부할 수 있었다.

예시를 보면 이해가 빠르다.

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

내가 사용한 코드는

s = input()
dp = [0 for _ in range(26)]
for i in s:
  dp[ord(i)-97] += 1

print(*dp)

으로 백준을 공부하다가 사용하게 되었다


문제가 쉬운 문제로 체크되어 있어서 간단하게 풀었는데
생각치도 못한 더 좋은 코드를 통해 한가지를 배울 수 있어서 기분이 굉장히 좋다

출처

https://mingrammer.com/understanding-the-asterisk-of-python/
https://hwiyong.tistory.com/193
백준 10808

profile
끈기있게 답을 찾아나갑니다! 😀

0개의 댓글