[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' a = 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) a = 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 % 2 == 0): return print num print 'Return문의 또 다른 쓰임' echo(0) echo(1) | cs |
1 2 3 4 5 6 | 입력 값에 기본 값 설정 test1 default test1 test2 Return문의 또 다른 쓰임 1 | cs |
함수 입력 값에 초기값을 설정한 경우, 초기값 설정된 변수 뒤에는 초기값이 설정되지 않은 변수가 올 수 없다.
'아카이브 > Python' 카테고리의 다른 글
[Python 변수] mutable과 immutable의 차이 (2) | 2015.07.16 |
---|---|
[Python 제어문] 반복문 for (0) | 2015.07.16 |
[Python 제어문] 반복문 while (0) | 2015.07.16 |
[Python 제어문] 조건문 if elif else (0) | 2015.07.15 |
[Python 자료형] 집합 (Set) (1) | 2015.07.15 |