본문 바로가기
인터페이스 개발/Python

Python - 함수[인수의 형식] - 가변 인수, 인수의 기본값

by cooluk 2020. 7. 20.

Chap.7 함수(2) 인수의 형식 - 인수, 가변 인수, 인수의 기본값

 

인수의 형식

가변 인수, 인수의 기본값

 

가변 인수

  • 인수의 수가 고정되지 않음
    - 호출 시 원하는 만큼 인수를 지정
    - 함수에서는 이를 튜플 변수로 받음
    - 일반 인수 뒤에만 올 수 있음
    - 하나만 사용 가능

def 함수명(*인수명):
    명령 블럭

def intsum(*ints):
    total = 0
    for num in ints:
        total += num

    return total


print(intsum(1, 2, 3))
print(intsum(5, 7, 9, 11, 13))
print(intsum(8, 9, 6, 2, 9, 7, 5, 8))

결과

6
45
54

추가적으로 가변 인수는 인수 목록 마지막에만 올 수 있다.
intsum(s, *ints) 꼴만 가능

 

 

인수의 기본값

  • 함수 호출 시 인수가 지정되지 않았을 때 사용할 값
  • 함수 정의 시 인수에 값을 대입
  • 인수 목록의 마지막 부분에 배정 (calcstep(2)의 의미가 몇 번째 인수랑 매칭 되는지 모름)
  • 중간에 배정시 구분 불가

def calcstep(begin, end, step = 1): # 전달이 되면 그 값, 안되면 기본값
    total = 0
    for num in range(begin, end +1, step):
        total += num

    return total


print("1 ~ 10 =", calcstep(1, 10, 2))
print("2 ~ 10 =", calcstep(1, 100))

결과

1 ~ 10 = 25
2 ~ 10 = 5050

 

모듈(module) : 핵심 용어 -> 부품 ; 모듈화한다모듈화 한다.
여기서는 코드 블록 규격화
함수 장점 : 블랙박스화 시킬 수 있다.
blackbox : 안을 모르겠다. 대신 입출력을 앎. ex: print()
whitebox : 안을 들여다볼 수 있는 상황
blackbox test : 많은 입력으로 출력을 알아냄

키워드 인수 : print()에서 사용했었다.

뒷부분은 나중에 다룸 (dictionary 아직 다루지 않음)
pdf 14~20 skip

댓글