1 분 소요

함수는 뭘까?

3일차

오늘은 블로그를 만들고 포스탕한지 3일차가 되는 날이다.이 기세로 매일매일 쓰기를 간절히 바란다.그럼 오늘 배웠던 함수에 대해서 짤막하게 포스팅하겠다!

함수란?

특정 알고리즘을 “함수”라는 단위로 묶어 반복적으로 호출하여 사용하는것.

장점으로는

1.프로그램을 기능별로 나누어 구현 가능

2.프로그램의 유지 보수의 효율성의 증대

3.프로그램의 확장성 제고

등이 있다.

Non-Functional program

다음을 보시면 함수를 쓰지않고 오름차순으로 만들어주는 소스코드가 있는데요.

# N개의 정수를 입력 받아 오름 차순으로 정렬
# 입력 정수 갯수
N = 5
# 입략 값 리스트
inputlist = []
# 키보드로부터 N개의 정수를 입력받아 리스트에 저장
for i in range(N):
    inputnum = input(str(i+1)+"번째 숫자입니다.")
    inputlist.append(int(inputnum))
    # 리스트에 저장괸 정수 값을 오름차순으로 정렬
for count_i in range(N-1):
    for count in range(N - count_i - 1):
        if inputlist[count] > inputlist[count_i]:
            temp = inputlist[count+1]
            inputlist[count+1] = inputlist[count]
            inputlist[count] = temp

# 라스트값 출력
print(inputlist)

만약 오름차순으로 만들어야하는 부분이 반복적으로 나온다면 어떻게 해야할까요?

그때마다 이렇게 만들면 될까요? 아니죠 이럴때 함수를 쓰는겁니다.

함수 사용 방법

그렇다면 함수를 사용하려면 어떻게 해야할까요?

# sum 함수 정의
# 두 개의 수를 입력받아 더한 값을 반환
def sum(argA,argB):
    result = argA + argB

    return result
# sum 함수 추출 -인자 값 2 , 3
print(sum(2,3)) #결과값 5

이렇게 def 라는 단어를 써서 함수를 정의 하면 다음번에 반복된 내용을 코딩하여야 할때긴 소스코드를 쓸 필요없이 깔끔하게 쓸수있습니다.

Functional Program

다음은 함수를 썼을때입니다.

# 키보드로부터 N개의 정수를 입력 받아 리스트에 저장
def getInputValue(argNumOfInputValue):
    tempInputValueList = []
    for index in range(argNumOfInputValue):
        inputValue = input(str(index + 1)+"번째 입력 값")
        tempInputValueList.append(int(inputValue))
    return tempInputValueList
# 리스트에 자장된 정수 값을 오름차순으로 정렬


def myBubbleSort(argList, asscend=True):
    for iCount in range(len(argList)-1):
        for jCount in range(len(argList)-iCount-1):
            comparisonResult = \
                argList[jCount] > argList[jCount +1] if asscend else argList[jCount+1] < argList[jCount+1]
        if comparisonResult:
            temp = argList[jCount+1]
            argList[jCount+1] = argList[jCount]
            argList[jCount] = temp


# 5개의 정수를 키보드로부터 입력후 리스트 저장
inputValueList = getInputValue(5)
# 리스트 값 정렬
myBubbleSort(inputValueList)
# 리스트 값 출력
print(inputValueList)

이 와 같이 함수를 써주면 OK!

이렇게 오늘 배웠던 함수에대해 포스팅 했는데요.

내일도 배웠던 내용을 가지고 포스팅하도록 하겠습니다. 끝

댓글남기기