파이썬 함수 사용법




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


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

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

파이썬 제어문 for




특정 수 혹은 특정 변수 개수 만큼 실행 하고 싶을 때 for를 사용한다.


for 변수 in 범위 :

실행 문

실행 문


간단한 예로 이해를 도와 보자 1부터 10까지 더하는 값을 출력 해보자


이때 사용하는 함수로 range(시작 값, 끝 값) 을 이용하며 끝 값은 바로 전까지만 실행 된다.


끝 값이 11이면 for문에서는 10까지만 실행 된다는 말이다.


range를 이용한 for문 예제

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

#!/usr/bin/python

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

sum = 0

for i in range(1, 11) :

    sum = sum + i

print sum

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

결과 :  

55

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


for 아래 실행문은 총 10번 실행 되며 


i에 1...10까지 값이 들어가 실행 문 (sum = sum + i )에는

1 = 0 + 1

3 = 1 + 2

6 = 3 + 3

10 = 6 + 4

....

55 = 45 + 10

이런식으로 실행 된다.


리스트 변수를 이용한 for문

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

#!/usr/bin/python

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

sum = 0

list = [4, 8, 15, 20]

for i in list :

    sum = sum + i

print sum

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

결과 :  

47

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


list에 값이 총 4개의 값이 있다 for문은 총 4번 실행 되며

i 에 값은 4 -> 8 -> 15 -> 20 순으로 들어 갈 것이다.


0 = 0 + 4

12 = 4 + 8

27 = 12 + 15

47 = 27 + 20


2개 이상의 값을 받는 예제

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

#!/usr/bin/python

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

sum = 0

list = [(1,2),(3,4),(5,6),(7,8)]

for (i,j) in list :

    print '%d %d'%(i,j)

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

결과 :  

1 2

3 4

5 6

7 8

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


리스트 값 안에 4개의 튜플을 넣어서 for문은 4번이 실행 되고


for문의 변수는 1개가 아닌 (i,j) 형식으로 두개를 받게 해서 처리 되게 끔 했다.


1번째 실행 시

i => 1  j => 2 


2번째 실행 시

i => 3  j => 4 


3번째 실행 시

i => 5  j => 6 


4번째 실행 시

i => 7  j => 8 




반응형

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

[Python] 함수 (2)  (0) 2016.09.11
[Python] 함수 (1)  (0) 2016.09.11
[Python] 제어문 while  (0) 2016.09.07
[Python] 문자열 다루기  (0) 2016.09.05
[Python] 리스트형 기능  (0) 2016.09.04

파이썬 제어문 while




이번 강좌는 while문 사용법에 대한 소개 입니다.


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

while 조건:

수행 1

수행 2

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


조건이 참인 동안 수행1, 수행2 실행 한다.


구구단 2단을 출력 예문

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

#!/usr/bin/python

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


val = 1


while val < 10 :

    print "2 * {0} = {1}".format(val, val*2)

    val = val + 1

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

결과 :  

2 * 1 = 2

2 * 2 = 4

2 * 3 = 6

2 * 4 = 8

2 * 5 = 10

2 * 6 = 12

2 * 7 = 14

2 * 8 = 16

2 * 9 = 18

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


while val < 10 :  val 값이 10 이하면 while 안에 문장 실행

print  "2 * {0} = {1}".format(val, val*2) 구구단 출력

val = val + 1 val 값을 1 더한다.



break 사용법

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

#!/usr/bin/python

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


val = 1


print "시작"

while 1 : #항상 참이다.

    print "카운팅 {0}".format(val)

    if val == 3 : #만약 val 값이 3 이면

        print "루푸 빠져 나온다."

        break   # while 을 빠져 나온다.

    val = val + 1

print "끝"

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

결과 :  

시작

카운팅 1

카운팅 2

카운팅 3

루푸 빠져 나온다.

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



Continue 사용법 ( 홀 수 출력 예제 )

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

#!/usr/bin/python

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


val = 0


print "시작"

while val < 10 :              # 1 : val이 10이 될때 까지 실행

    val = val + 1              # 2 : val에 1을 더한다.

    if val % 2 == 0 :          # 3 : val 이 짝 수 이면

        continue             # 4 : 다음을 실행 하지 말고 1번으로 간다.

    print val

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

결과 :  

시작

1

3

5

7

9

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

반응형

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

[Python] 함수 (1)  (0) 2016.09.11
[Python] 제어문 for  (0) 2016.09.11
[Python] 문자열 다루기  (0) 2016.09.05
[Python] 리스트형 기능  (0) 2016.09.04
[Python] 리스트, 튜플 기본 연산  (0) 2016.09.04

파이썬 문자열 다루기



Python의 문자열을 자유자제로 사용하는 방법에 대해 알려드리겠습니다.


1. 문자열의 특정 문자 접근

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

#!/usr/bin/python

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


#맨앞에 0 입니다. 

strBuffer = "I like python because it`s very simple language"



print strBuffer[0]   #앞에서 부터 샌다.

print strBuffer[22]  #22번째는 i 입니다

print strBuffer[-3]  #뒤에서 부터 샌다.  -1->e -2->g ...

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

결과 :  

I

i

a

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


2. 문자열 단어 접근

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

#!/usr/bin/python

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


strBuffer = "I like python because it`s very simple language"


print strBuffer[2:6] #시작 번호:끝번호 like 출력

print strBuffer[39:] #language 출력

print strBuffer[:13] #I like python 출력

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

결과 :  

like

language

I like python

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


3. 문자열 특수 기능

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

#!/usr/bin/python

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


strBuffer = "I like python because it`s very simple language"


print strBuffer.count('e')      #e가 몇개 있는지 샌다.

print strBuffer.find("simple")  #simple이 있는 위치를 찾는다.

print strBuffer.upper()         #소문자 변경

print strBuffer.lower()         #소문자 변경

print strBuffer.replace("python","a pen") #문자열 변경

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

결과 :  

6

32

I LIKE PYTHON BECAUSE IT`S VERY SIMPLE LANGUAGE

i like python because it`s very simple language

I like a pen because it`s very simple language

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


4. 문자열 공백 제거 기능

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

#!/usr/bin/python

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


strTrip = " test Trip "

print '['+strTrip.lstrip()+']'   #왼쪽 공백 제거

print '['+strTrip.rstrip()+']'   #오른쪽 공백 제거

print '['+strTrip.strip()+']'    #양쪽 공백 제거

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

결과 :  

[test Trip ]

[ test Trip]

[test Trip]

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


5. 문자열 나누기 기능

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

#!/usr/bin/python

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


strSplit = "apple, show, pig, orange"


print strSplit.split()      #공백 기준으로 나누기

print strSplit.split(',')   #, 기준으로 나누기

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

결과 :  

['apple,', 'show,', 'pig,', 'orange']

['apple', ' show', ' pig', ' orange']

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


반응형

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

[Python] 제어문 for  (0) 2016.09.11
[Python] 제어문 while  (0) 2016.09.07
[Python] 리스트형 기능  (0) 2016.09.04
[Python] 리스트, 튜플 기본 연산  (0) 2016.09.04
[Python] 튜플(Tuple) 자료형  (0) 2016.09.04

+ Recent posts