C에서 함수 인자 전달과 동일.
순서에 맞게 인자 전달.
def solution(num1, num2):
return num1 + num2
solution(1, 2)
num1 = 1, num2 = 2가 들어간다.
인자에 키워드가 있어서, 키워드로 인자 전달.
순서가 바껴도 괜찮음.
def solution(num1, num2):
return num1 + num2
solution(num2 = 1, num1 = 2)
num1 = 2, num2 = 1이 들어간다.
위치 인자와 키워드 인자를 같이 사용할 경우, 위치 인자를 먼저 써야된다.
*을 사용해서 여러 개의 인자를 tuple로 packing을 할 수 있다.
ex)
def solution(*num):
return sum(num)
2개의 *을 사용하여 dictionary형을 packing할 수 있다.
def func(**kwargs):
print(kwargs)
print(type(kwargs))
func(a = 1, b = 2, c = 3)
결과 :
{'a': 1, 'b': 2, 'c': 3}
<class 'dict'>
참고자료: https://wikidocs.net/22801
packing 되어있는 객체를 여러 개의 객체로 나눈다.
def solution(num1, num2):
return num1 + num2
numbers = [1, 2]
solution(*numbers)
list 원소 개수에 맞춰서 unpacking할 수 있다.
>>> l = [1, 2, 3]
>>> x, y, z = l
>>> x
1
>>> y
2
>>> z
3