*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))
'Development > Python' 카테고리의 다른 글
[코딩테스트][Python3] 리스트에서 원소 찾아내기 (0) | 2020.07.08 |
---|---|
[코딩테스트][Python3] 정렬된 리스트에 원소 삽입 (0) | 2020.07.08 |
[python3][crawling] 웹크롤링에서 자주 사용하는 패키지 추천 및 설치 방법 (0) | 2020.07.03 |
[Python] print without backspace & \b 활용 예시 (1) | 2020.06.26 |
[Solved][Python3] IndentationError: unindent does not match any outer indentation level (0) | 2020.06.12 |