본문 바로가기

Python_Beginer/Study

Python Variable Arguments(가변 길이 함수) - kwargs

1. 가변 길이 함수

- Parameter(파라미터) 갯수가 정해지지 않을 때 사용

- 함수를 호출 할 때 Arguments(아규먼트)의 갯수가 변할 수 있을 때 사용

- **(애스터리스크) 사용


2. 기본 구조

def 함수명(**kwargs):
명령어
[return 값]


3. Sample Code

- 가변길이 keyword arguments(kwargs)를 갖는 함수 정의

def my_func(**kwargs):
for key in kwargs:
print(key, ':', kwargs[key])

- 함수 호출

my_func(a = 1)
my_func(name = '안기웅', email = 'ankiwoong@gmail.com')

a : 1

name : 안기웅

email : ankiwoong@gmail.com


Process finished with exit code 0


- 빼기 함수

def sub(x, y):
return x - y

- Keyword argument 호출 / ositional argument만 사용(Parameter 순서대로 전달되는 Arguments)

print(sub(1, 2))
print(sub(10, y=20))

-1

-10


Process finished with exit code 0

- Keyword argument, ositional argument를 사용(함수 정의 할때 Parameter 순서와 상관없이 argument를 전달 가능)

print(sub(x=100, y=200))
print(sub(y=100, x=200))

-100

100


Process finished with exit code 0

- 고정 파라미터 + 가변 인수

def Signup(name, **kwargs):
print(name)
print(kwargs)

- 고정 파라미터 + 가변 인수 호출

Signup('홍길동', age=19, address='서울시 금천구 시흥동')

홍길동

{'age': 19, 'address': '서울시 금천구 시흥동'}


4. 정리

- 함수를 호출 할때 positional argument와 keyword argument를 함께

- 사용하는 경우에는 반드시 positional argument들을 먼저 써야만 함.

- keyword argument는 모든 positional argument들이 사용 된 후에만 사용 가능