본문 바로가기
프로그램

[파이썬] 함수의 인수 전달(*리스트, **딕셔너리)

by 오디세이99 2022. 11. 9.
728x90
반응형

함수에 인수를 전달하는 방법에는 

1) 순서대로 전달

def func(a, b):
    print(a, b)
    
func(10, 20)

결과

10 20

 

2) key로 전달

- 함수 실행 시 b, a 순으로 했다는 겁니다. 그래서 함수 내에서는 정상적으로 받아들입니다.

def func(a, b):
    print(a, b)
    
func(b=20, a=10)

결과

10 20

 

 

이를 리스트와 딕셔너리를 사용해서 할 수도 있습니다.

이때 *, ** 이 사용 됩니다.

1) 리스트

- * 를 사용합니다.

- 순서대로 전달된 것과 같이 동작합니다.

- *를 사용하지 않으면 리스트 자체가 인자로 넘어갈 것입니다. 물로 인수 b 항목이 없어서 에러가 발생할 것입니다.

def func(a, b):
    print(a, b)
    
func(*[10, 20])

결과

10 20

 

2) 딕셔너리

- ** 를 사용합니다.

- key 를 사용할 것과 같이 동작합니다.

def func(b, a):
    print(a, b)
    
func(**{'a':10, 'b':20})

결과

10 20
728x90
반응형

댓글