Default parameter (기본인자)
- 함수의 파라미터에 기본값 지정 가능
- 파라미터를 명시하지 않을 경우, 지정된 기본값으로 대체
1234567891011 def print_hello(nums='hello world'):print numsreturn 1 + 3 + 4print print_hello('hi world')print print_hello()<<<<< 실행결과 >>>>>hi world8hello world8cs
### 연습문제 ###
다음 조건을 만족하는 add3함수를 작성하시오.
- 파라미터 : 정수 파라미터 2개 (두번째 정수가 입력되지 않은경우 기본값 2으로 지정)
- 반환값: 입력된 두 정수의 합
1 2 3 4 5 6 7 8 | def add3(num1, num2 = 2): return num1 + num2 print add3(3) print add3(3,4) <<<<< 실행결과 >>>>> 5 7 | cs |
### Default parameter 사용시 주의점
- 디폴트 파라미터 뒤에 일반 파라미터가 위치 할 수 없음
ex) 올바른 예
def test(a, b, c=1) // def test(a, b=2, c=1) // def test(a=1, b=3, c=1)
ex) 올바르지 않은 예
def test(a, b=1, c) // def test(a=1, b, c) // def test(a=1, b=1, c)
Keyword parameter
- 파이썬의 경우, 파라미터에 값을 전달 할 때, 파라미터의 이름을 명시하여 전달가능
- 파라미터 이름을 사용하지 않을 경우, 기본적으로 순서에 맞게 전달
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | def func_test(a, b, c = 1, d = 2): print a, b, c, d # 일반적인 호출 func_test(1, 1) func_test(1, 1, 3, 4) # ========================= # 키워드 파라미터를 사용하는 호출 func_test(b = 2, a = 4) func_test(1, 7, c = 10, d = 20) func_test(a = 1, b = 2, c = 4, d = 5) func_test(c = 1, d = 2, a = 3, b = 2) func_test(c = 1, a = 3, b = 2) func_test(d = 10, a = 3, b = 2) <<<<< 실행결과 >>>>> 1 1 1 2 1 1 3 4 ========================= 4 2 1 2 1 7 10 20 1 2 4 5 3 2 1 2 3 2 1 2 3 2 1 10 | cs |
# 잘못된 호출
func_test(c = 1, d = 2, 1, 3)
func_test(c = 1, d = 2)
func_test(1, c = 1, d = 2)
func_test()
### 연습문제 ###
0부터 주어진 정수값의 두 배 크기까지의 숫자를 차례대로 갖는 리스트를 생성하여 반환하는 함수를 만드시오.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | def mul_list(num): return range(2 * num + 1) print mul_list(3) def mul_list2(num): result = [] for i in range(0, num * 2 + 1): result.append(i) return result print mul_list2(3) <<<<< 실행결과 >>>>> [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] | cs |
반응형
'Python > Python Basic' 카테고리의 다른 글
Day5) 2. filter, map, reduce (0) | 2017.05.25 |
---|---|
Day5) 1. Lambda 함수 (0) | 2017.05.25 |
Day4) 4. 1st class citizen(일등 시민) (0) | 2017.05.25 |
Day4) 3. variable length argument(가변길이 인자) (0) | 2017.05.25 |
Day4) 2. multiple return(복수 값 반환) & variable scope(변수의 범위) (0) | 2017.05.25 |