python 함수란?

1 minute read

함수 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을 만나면 함수가 완료되었다고 판단해서 함수를 호출한 쪽으로 되돌아간다

  def isNumEven(a) :
      if a % 2 == 0 :
          print(f"{a}는 짝수다!") # (i)
          return
   	else :
          print(f"{a}는 홀수다!") # (ii)
          
  isNumEven(12)
  # 이때 (i)만 출력되고 return
  # (ii)는 실행되지 않는다

전체 흐름 이해하기

func

더 보기

Categories:

Updated:

Comments