python 함수란?
함수 function
-
소프트웨어를 개발할 때, 어떤 문제를 해결할 때 하나의 기능을 따로 떼어내서 구현할 수 있게 해준다
-
수학에서 y = f(x) 의 의미와 비슷해!!!!
- f(x)라는 함수의 x자리에 값을 넣고, 함수에서 연산하여 반환하는 값을 y 에 담는다.
- f(x) = x+1 일 때, x = 3 이라면, f(3) 은 3 +1 의 연산을 하고 4를 반환 -> 이를 y 에 담는다
-
반복되는 기능을 함수로 작성하면, 불필요하게 코드를 작성할 필요가 없어진다! (유지보수에 용이함)
def 함수이름 (매개변수1, 매개변수 2....) : 수행할 기능 return 반환값
def sumAll (num1, num2) : result = num1 + num2 return result
-
함수 sumAll은 num1과 num2를 인자로 받아서, 더한 결과를 반환하는 함수이다
-
매개변수 parameter는 없을 수도 있고, 여러 개가 있을 수도 있다 -> 심화
-
return은 하나의 값만 반환한다
-
함수가 작동하는 방식
1) call
-
함수는 작성된 뒤 호출 call해야 사용할 수 있다
-
호출하기 전에 먼저 함수를 정의해야 한다 (안그러면 에러)
def getAverage(kor, math, eng) : avg = float((kor+math+eng)/3) return avg def printTotal(kor, math, eng) : print(kor+math+eng) avg = getAverage(97,86,78) print(avg) # print(getAverage(97,86,78)) 해도 됨
- printTotal은 호출되지 않았기 때문에 사용하지 않는다
- getAverage()의 반환값을 avg라는 변수에 담아서 출력
2) pass
- 함수를 정의했지만 아직 내용을 작성하고 싶지 않을 때는 pass를 적으면 에러가 발생하지 않는다
def getFunction(a) :
pass
getFunction(a) # None
3) return
-
return을 만나면 바로 함수를 빠져나와 함수를 호출한 쪽으로 되돌아간다
def operation(a,b) : return a+b return a*b return a-b operation(5,2) # 처음 만난 return a+b의 결과만 반환됨
-
return을 여러 개 적는다고 여러 개의 값을 반환할 수는 없다
-
여러 개의 값을 반환하고 싶다면 리스트나 딕셔너리, 튜플에 넣어서 반환해야 한다
-
-
return 구문이 여러개 있더라도, return을 만나면 함수가 완료되었다고 판단해서 함수를 호출한 쪽으로 되돌아간다
def isNumEven(a) :
if a % 2 == 0 :
print(f"{a}는 짝수다!") # (i)
return
else :
print(f"{a}는 홀수다!") # (ii)
isNumEven(12)
# 이때 (i)만 출력되고 return
# (ii)는 실행되지 않는다
Comments