Python - 함수의 파라미터 여러개 일때(*args)

2022. 6. 21. 17:24·Python/개인 공부

보통 함수라면 인수(파라미터)가 몇개인지 정해져있다.

더하기 함수를 만든다고 가정하면

1
2
def add_cal(a, b):
    return a + b
cs

a하고 b로 들어가는 수가 인수이다. 들어갈 수 있는 파라미터는 2개이다.

그러면 인수가 몇개가 들어갈 지 모를때는?

 

1
2
3
4
5
6
7
def add_cal(*args):
    result = 0
 
    for i in args:
        result = result + i
    return result
    
cs

여기서 args는 그냥 변수이름이다. *anything, *python 이렇게 아무 이름이나 사용해도 된다.

이 함수는 들어가는 인수들을 싹다 result값에 더하고 반환해주는 함수이다.인수를 몇개를 넣든 상관없다.

 

예를 들어,

인수의 개수를 그냥 마음대로 1, 2, 3, 4, 5 라는 5개를 넣어보고 이걸 싹다 더해서 result로 반환

그리고 출력해보았다. 15가 나온다.

1
2
3
4
5
6
7
8
9
10
11
def add_cal(*args):
    result = 0
 
    for i in args:
        result = result + i
    return result
 
print(add_cal(1, 2, 3, 4, 5))
 
 
>>>15
cs

 

-------------------------------------------------------------------------------------------------------------------

이것도 가능하다!

1
2
3
4
5
6
7
8
9
10
11
12
def add_mul(choice, *args):
    if choice == "add":
        result = 0
        for i in args:
            result = result + i
 
    elif choice == "mul":
        result = 1
        for i in args:
            result = result * i
 
    return result
cs

 

1
add_mul('mul', 1, 2, 3, 4, 5)
cs

매개변수 choice는 mul이 되고 elif조건에서 걸리기때문에 곱셈을 하게된다.

add_mul('add', 1, 2, 3, 4, 5)

이렇게 하면 choice가 add이기 때문에 덧셈을 하게됨.

 

'Python > 개인 공부' 카테고리의 다른 글

Mac os - 터미널 명령어 정리(2022.06.20)  (0) 2022.06.20
Python - 소수 구하기  (0) 2022.06.13
Python - print문의 사용 (end, sep) (내가 헷갈려서..)  (0) 2022.06.10
Python - 피하기 게임(개인 프로젝트)  (0) 2022.06.08
'Python/개인 공부' 카테고리의 다른 글
  • Mac os - 터미널 명령어 정리(2022.06.20)
  • Python - 소수 구하기
  • Python - print문의 사용 (end, sep) (내가 헷갈려서..)
  • Python - 피하기 게임(개인 프로젝트)
Minu Jin
Minu Jin
정보의 바다
  • Minu Jin
    뇌 구조가 바이너리
    Minu Jin
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C프로그래밍
        • 오류해결
        • 개인 공부
        • Programming Lab(학교수업)
        • MemoryTracker
      • C++
        • 개인 공부
      • 자료구조(Data Structure)
      • ARM arch
        • Cortex-M
        • FreeRTOS
      • 컴퓨터 공학(Computer Science)
        • OS
        • 컴퓨터 구조
      • Qualcomm 기업과제
      • Linux
        • start_contribute()
        • start_analyse()
      • Web
      • 똥글
      • 백준
      • Git 학습
        • 오류해결
        • 학습중
      • Python
        • 오류해결
        • 개인 공부
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    C++
    스택
    시스템콜
    Qualcomm
    INIT
    토발즈
    이진 트리
    Git
    c언어
    commit
    Branch
    앤드류모튼
    yolo
    커널 기여
    파이썬
    소수
    rubik pi
    자료구조
    rubikpi3
    순환
    버퍼
    동적메모리
    리눅스
    arm
    피보나치
    파일 입출력
    포인터
    백준
    커널
    드라이버 분석
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minu Jin
Python - 함수의 파라미터 여러개 일때(*args)
상단으로

티스토리툴바