파이썬 함수 사용법




함수는 자판기와 비유 할 수 있다.


=================================================

1. 동전 넣는다.


2. 원하는 상품을 골라 버튼을 누륵다.


3. 자판기에서 상품이 나온다.

=================================================

1. 입력


2. 기능 수행


3. 출력

=================================================


즉 함수는 입력 값을 넣으면 어떠한 기능을 수행 후 결과를 출력해 준다.




 

그럼 함수는 언제 사용 하는가?


프로그램을 하다 보면 내가 만든 특정 기능을 반복해서 사용하는 경우가 있다.


반복해서 사용 해야 하는 기능을 계속 다시 손으로 코딩 혹은 복사 붙이기를 해야 사용이 가능한데


함수라는 것을 이용하면 편리하게 특정 기능을 반복해서 사용 할 수 있다.





예를 들어 보자 


3명의 학생의 각각 시험 결과 평균을 내야 한다고 치자


평균을 구한다는 기능을 반복적으로 만들어야 한다.


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-

student = ['철수','영희','그사람']

score = [[10,20,30],[50,60,7],[20,50,90]]


sum = score[0][0] + score[0][1] + score[0][2]

print "%s 평균 %d"%(student[0], sum/3)


sum = score[1][0] + score[1][1] + score[1][2]

print "%s 평균 %d"%(student[1], sum/3)


sum = score[2][0] + score[2][1] + score[2][2]

print "%s 평균 %d"%(student[2], sum/3)

==========================================================

결과 :  

철수 평균 20

영희 평균 39

그사람 평균 53

==========================================================


위의 코드를 함수를 이용해서 다시 만들어 보자


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-

student = ['철수','영희','그사람']

score = [[10,20,30],[50,60,7],[20,50,90]]


def average(score_tuple) :      #함수 정의 및 입력 값

    sum = 0                    #기능 수행

    count = 0                  

    for i in score_tuple :

        sum = sum + i

        count += 1

    return sum/count           #출력 값


i = 0

for s in score :

    avr = average(s)

    print "%s 평균 %d"%(student[i], avr)

    i += 1

==========================================================

결과 :  

철수 평균 20

영희 평균 39

그사람 평균 53

==========================================================


1. def average(score_tuple) : 이부분이 함수다.


def 

average

(score_tuple) :

함수라고 정의하는 단어

사용자가 정의한 함수 명

함수의 인자 값 ( 입력 값 )


2. for s in score : 에서 s는 다음과 같다.

   1번째 실행 [10,20,30] 

   2번째 실행 [50,60,7]

   3번째 실행 [20,50,90]


3. avr = average(s)에서 average 함수 호출 시 s값을 넣는다.


4. average 함수는 총 3번 호출 되며 score_tuple 값은 다음과 같다.

   1번째 실행 [10,20,30] 

   2번째 실행 [50,60,7]

   3번째 실행 [20,50,90]


5. average 함수는 tuple의 값을 모두 합친다.


6. return sum/count 은 모두 더한 값을 점수 개수 만큼 나눠서 출력 한다.



다음 함수 설명 가기 ====> click

반응형

'프로그램 > Python' 카테고리의 다른 글

[Python] 함수 (3)  (0) 2016.09.16
[Python] 함수 (2)  (0) 2016.09.11
[Python] 제어문 for  (0) 2016.09.11
[Python] 제어문 while  (0) 2016.09.07
[Python] 문자열 다루기  (0) 2016.09.05

+ Recent posts