Backend/Python

[Python] asterisk

sangwonYoon 2023. 3. 7. 00:10

파이썬에서 asterisk 기호 (*)는 곱셈, 제곱을 하는 연산자 외에도 다양한 기능들이 있다.

asterisk 기호가 한 개 쓰일 때와 두 개 쓰일 때로 나누어서 살펴보자.


*

파라미터에 *를 붙여 입력한 개수만큼 입력받을 수 있는 가변인자로 설정할 수 있다.

def asterisk_test(*args): # args는 튜플로 저장된다.
	return sum(args)

print(asterisk_test(1,2,3,4,5))
# 출력: 15

 

iterable한 자료형과 함께 사용하면 unpacking을 하는 역할로 쓰인다.

def asterisk_test(*args):
	print(args)
	print(*args)

asterisk_test(1,2,3,4,5)
# 출력: 
# (1, 2, 3, 4, 5)
# 1 2 3 4 5

 


**

파라미터에 **를 붙여 키워드 인자를 입력받을 수 있다.

def kwargs_test(**kwargs): # kwargs는 dict로 저장된다.
	for key, value in kwargs.items():
		print(f"{key} is {value}")

kwargs_test(myName="sangwon")
# 출력: myName is sangwon

 

dict 자료형을 unpacking할 때 사용할 수도 있다.

def asterisk_test(a, b, c, d):
	print(a, b, c, d)

data = {"d":1, "c":2, "b":3}
asterisk_test(10, **data)
# 출력: 10 3 2 1

'Backend > Python' 카테고리의 다른 글

[Python] closure  (0) 2023.03.07
[Python] 파이썬 class의 특징  (0) 2023.03.07
[Python] generator  (0) 2023.03.07
[Python] 파이썬 코드만의 특징  (0) 2023.03.06
[Python] __name__은 무슨 의미일까?  (0) 2023.03.06