상세 컨텐츠

본문 제목

[Python-기초] 1-3. 가변매개변수

Programming language/PYTHON

by 주초위왕 2023. 3. 2. 18:34

본문

가변매개변수

매개변수의 갯수가 가변적으로 변하는 매개변수

가변매개변수를 tuple로 생각하고 활용하면 된다.


def f2(*a):
  print('f2실행됨')
  print(a)
  print(type(a))
  print('-----')

 

기본적으로 함수를 선언하고 호출할 때 매개변수에 지정된 개수와 인자의 개수가 동일해야 하고, 인자의 개수가 매개변수에 지정된 수보다 많거나 적을 경우 에러가 생기는데

print( )함수는 매개변수를 몇 개를 넣던 수와 상관없이 담긴 모든 값을 실행하는걸 볼 수 있다.

 

print(a)의 타입을 보면 tuple타입이 나오는데, 사실상 tuple이니 가능하다고볼 수 있다.

다시말해, f2(10) 요소가 한개 들어있는 tuple하나가 들어간다는 말.

f2(10, 20) 여기도 요소가 두개 들어간 tuple하나가 보내진다는 것.

 

f2(10, 20, 30, 40, 50, 60) 넣어도 상관이 없다. 어차피 요소가 6개인 tuple하나가 넘어간다는 의미니까.

 

수가 유동적으로 변하는 함수를 가변 매개함수라 부름

 

가변매개변수와 일반 매개변수를 섞어서 활용해보기. f3(a, *b, c)넣고 실행을하면 에러가 생긴다. 10은 a에 들어가고, 20은 *b에 들어가는데 c에 들어가는 값이 없으니 에러가 난다.

 

값을 3개 넣어도 에러가남. 10은 a로 들어가고 20, 30이 *b(튜플)로 들어가기 때문 c에 들어갈 수가 없기때문에 c라는 변수에 직접 대입을 해줘야함.

 

변수에 대입 c = 30, c = 40이 c에 들어가면서 값 출력. 

반응형

관련글 더보기

댓글 영역