나의 공부 일기

Python) 가변인자 본문

파이썬/파이썬 정리

Python) 가변인자

곽병권 2023. 10. 13. 16:31
728x90

저는 이 가변인자라는 단어가 되게 생소했습니다.

그래서 그냥 문법이라고 생각하고 공부했습니다.

 

가변인자는 함수 중에서 동작에 필요한 인자의 개수가 가변적일 수 있습니다.

 

 

이런 경우 함수를 정의할 때 다음과 같이 정의합니다.

  • * 가변 매개변수는 튜플
  • ** 가변 매개변수는 딕셔너리
def asd(*args) :
    print(args)

asd('hello','hi')
 
---출력결과---
('hello', 'hi')

이런 식으로 이루어져 있는데, 원래라면 매개변수가 한 개일 땐 하나의 매개변수만 들어갈 수 있는데,

가변인자를 사용함으로써 'hello','hi' 가 하나의 변수로 인식이 되어 

('hello', 'hi') 이렇게 아까 말했던 튜플로 출력이 됩니다.

 

저는 한번에 많은 변수를 튜플에 넣어 실행한다고 생각하고 이해했습니다.

 

def asd(**args) :
    print(args)

asd(a=1,b=2,c=3)
 
---출력결과---
{'a': 1, 'b': 2, 'c': 3}

 

 

** 는 딕셔너리라고 아까 말했는데 이 함수를 실행하게 된다면

{'a': 1, 'b': 2, 'c': 3} 이렇게 딕셔너리 형식으로 출력하게 됩니다.

 

 

 

간단하게 활용하는 예제로 가변 매개변수를 차례로 출력하는 함수를 만들어보겠습니다.

def asd(**args) :
    for i in args.items():
        print(i)

asd(a=1,b=2,c=3)
 
---출력결과---
('a', 1)
('b', 2)
('c', 3)

딕셔너리에서 딕셔너리. items()를한다면 딕셔너리의 키값, 벨류값을 모두 출력하고,

딕셔너리. keys()를 한다면 키값, 딕셔너라. values()를 하면 벨류값을 출력합니다.

 


 

여기까지 가변인자에대해 정리해 보았습니다.

728x90

'파이썬 > 파이썬 정리' 카테고리의 다른 글

Python) 재귀함수(Recursive Function)  (0) 2023.10.15
Python) 지역변수, 전역변수  (0) 2023.10.15
Python) 함수(def)  (0) 2023.10.13
Python) break, continue  (0) 2023.10.13
Python) - 제어문 - 반복문  (0) 2023.10.12