본문 바로가기

Python/Python Basic

Day4) 1.Default parameter(기본인자) & keyword parameter

Default parameter (기본인자)

- 함수의 파라미터에 기본값 지정 가능

- 파라미터를 명시하지 않을 경우, 지정된 기본값으로 대체


1
2
3
4
5
6
7
8
9
10
11
def print_hello(nums='hello world'):
    print nums
    return 1 + 3 + 4
print print_hello('hi world')
print print_hello()
 
<<<<< 실행결과 >>>>>
hi world
8
hello world
8
cs


### 연습문제 ###

다음 조건을 만족하는 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(11)
func_test(1134)
 
# =========================
 
# 키워드 파라미터를 사용하는 호출
func_test(b = 2, a = 4)
func_test(17, 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)
 
<<<<< 실행결과 >>>>>
[0123456]
[0123456]
cs



반응형