[Python] 함수 매개변수를 튜플, 딕셔너리로 바꾸기 (함수 인풋 개수 제한 안두기)

Minjeong Park·2022년 2월 27일
0

Python

목록 보기
3/7
def adder(*args):
   result = 0
   for i in args:
     result += i
   return result

이렇게 *args 하면 입력값이 몇 개이든 상관 없이 입력값을 모두 모아서 튜플로 만들어준다.
함수 입력 파라미터로 꼭 *args만 있어야 하는 건 아니고, 다른 입력도 받을 수 있다. 그 예는 아래와 같다.

def calc(action, *numbers):
    if(action == 'add'):
        result = 0
        for number in numbers:
            result += number
        return result

    elif(action == 'sub'):
        result = numbers[0]
        for number in numbers[1:]:
            result -= number
        return result

    elif(action == 'mul'):
        result = 1
        for number in numbers:
            result *= number
        return result

    else:
        print("invalid input")
        return False

print(calc('add', 1,2,3,4,5)) # 15
print(calc('sub', 1,2,3,4,5)) # -13
print(calc('mul', 1,2,3,4,5)) # 120

다음은 키워드 파라미터에 대한 이야기이다.
키워드 파라미터는 매개변수를 딕셔너리로 만든다.
다음과 같이 예제를 만들 수 있다.

def kwargs_example(**kwargs):
    print(kwargs)


kwargs_example(name='apple', price=1200) # {'name': 'apple', 'price': 1200}

매개변수 이름 앞에 **를 붙이면 매개변수는 딕셔너리가 된다.

profile
아자아잣

0개의 댓글