파이썬/파이썬 정리
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)
('b', 2)
('c', 3)
딕셔너리에서 딕셔너리. items()를한다면 딕셔너리의 키값, 벨류값을 모두 출력하고,
딕셔너리. keys()를 한다면 키값, 딕셔너라. values()를 하면 벨류값을 출력합니다.
여기까지 가변인자에대해 정리해 보았습니다.

728x90