본문 바로가기
Study/Python study

[Python(파이썬)] 별(Asterisk(*)) 연산자

by 파크영 2021. 9. 1.

Asterisk(*) 연산자

 

하나의 * 연산자는 리스트 또는 튜플에 있는 원소들을 개별 인자로 분리해 차례대로 꺼내서 함수 인자에 대응시킨다. 

 

ex1)

>>> a = [1,2,3]

>>> print(a)
[1, 2, 3]

>>> print(*a)
1 2 3

 

a 리스트를 * 없이 출력했을 땐 리스트 전체를 리스트 기호와 함께 출력했고 *를 리스트명 앞에 포함했을 땐 원소만 출력했다. 

 

 

ex2)

 

>>> def test(x, y):
	return x + y

 

>>> a = (5, 8)

# without * 
>>> test(a)
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    test(a)
TypeError: test() missing 1 required positional argument: 'y'

# with *
>>> test(*a)
13

 

test(a) 실행 - x의 인자 (5, 8)이 들어가서 y인자가 부족하다고 에러

 

test(*a) 실행 - a의 원소를 5, 8로 각 각 분리시켜 x = 5, y = 8을 넣어준다. 

댓글