*args를 활용해 여러개의 인자를 함수가 받아 활용하도록 할 수 있습니다.

 

 ( args = arguments의 약자 )

 

 

 

 

1. 함수에서 *args 활용 소스 예시

 *args에서 args는 관례적으로 많이 사용할 뿐, 다른 이름으로 설정하셔도 정상적으로 작동됩니다.

*가 해당 기능을 가능케 해주는 부분입니다.

2번 예제에서는 test라는 변수로 해당 기능을 활용하니 도움이 되실 수 있으니 참고바랍니다.

def add_many(*args):
    print('#'*20)
    result = 0
    print(args)
    for i in args:
        result += i
    return result

print(add_many(1))
print(add_many(1,2,3,4,5))
print(add_many(6,7,8,9,10))
print(add_many(1,2,3,4,5,6,7,8,9,10))
print('#'*20)

 

 참고 : args는 위에서 확인할 수 있듯이 튜플 타입입니다.

 

 

 

 

2. 특정 인자와 *인자 함께 활용하는 함수 소스 예시

 덧셈을 할 것인지, 곱셈을 할 것인지에 대해 첫 변수인 choice에서 데이터를 받고, 이후 뒤에 오는 1개 이상의 데이터를 test 변수에 넣어 처리합니다.

def add_mul(choice, *test):
    # test
    print(test)
    # add
    if choice == 'add':
        result = 0
        for i in test:
            result += i
    # multiple
    if choice == 'mul':
        result = 1
        for i in test:
            result *= i
    # result
    return result

print(add_mul('add',1,2,3,4))
print(add_mul('mul',1,2,3,4))

 

 

 

+ Recent posts