본문 바로가기

프로그래밍 언어/Python

[Python 함수] 함수 (Function) - 1


[Python 함수] 함수 (Function) - 1


함수(Function)

간단히 말해서 프로그래밍에서 함수는 코드를 묶어 놓은 것이다. 프로그래밍을 하다보면 중복되는 코드가 많이 발생한다. 그 중복되는 코드를 하나의 함수로 정의하고 가져다 쓰면 많은 중복을 줄일 수 있다.

함수는 입력 값과 리턴 값을 가진다. 입력 값과 리턴 값은 없어도 함수지만, 대부분의 함수는 입력 값에 대한 리턴 값이 존재하게 구현된다.


- 함수의 구조

1
2
3
4
5
6
# 입력인자와 반환값은 있을 수도 없을 수도 있다.
def 함수명(입력인자1, 입력인자2...):
    <수행 문장1>
    <수행 문장2>
    ...
    return 반환값
cs


- 함수의 사용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 입력 값이 없는 함수
def say():
    return 'hello'
 
= say()
print '입력 값이 없는 함수'
print a
 
# 입력 값이 여러개인 함수
def say(say1, say2):
    print say1 + ' ' + say2
 
print '입력 값이 여러개인 함수'
say('one''two')
 
# 리턴 값이 없는 함수
def say():
    print 'hello'
 
print '리턴 값이 없는 함수'
say()
cs

1
2
3
4
5
6
7
8
입력 값이 없는 함수
hello
 
입력 값이 여러개인 함수
one two
 
리턴 값이 없는 함수
hello
cs

입력 값과 리턴 값은 있거나 없을 수도 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 리턴 값이 여러 개인 함수
def say(say1, say2):
    return (say1, say2)
 
= say('one''two')
print '리턴 값이 여러 개인 함수'
print a[0+ ' ' + a[1]
 
# 입력 값이 몇 개 인지 모를 경우
def echo(say1, say2, *args):
    print say1 + ' ' + say2
    for i in args:
        print i
 
print '입력 값이 몇 개 인지 모를 경우'
echo('one''two''three''four')
cs

1
2
3
4
5
6
7
리턴 값이 여러 개인 함수
one two
 
입력 값이 몇 개 인지 모를 경우
one two
three
four
cs

함수의 리턴 값은 무조건 하나여야 한다. 여러 값을 리턴 할 경우 리스트, 튜플로 묶어 리턴한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 입력 값에 기본 값 설정
def echo(say1, say2='default'):
    print say1 + ' ' + say2
 
print '입력 값에 기본 값 설정'
echo('test1')
echo('test1''test2')
 
# Return문의 또 다른 쓰임
# 1. 함수 종료
# 2. 리턴값 리턴
def echo(num):
    if(num % == 0):
        return
    print num
 
print 'Return문의 또 다른 쓰임'
echo(0)
echo(1)
cs

1
2
3
4
5
6
입력 값에 기본 값 설정
test1 default
test1 test2
 
Return문의 또 다른 쓰임
1
cs

함수 입력 값에 초기값을 설정한 경우, 초기값 설정된 변수 뒤에는 초기값이 설정되지 않은 변수가 올 수 없다.