본문 바로가기
Python/Basic

[파이썬, Python] 함수 - 2️⃣ 콜백 함수(Callback Function)

by 예성이 2023. 3. 9.
728x90
반응형
SMALL

1. 콜백 함수(Callback Function)란❓

  • 직접 호출하는 것이 아닌 다른 함수에 의해 호출되는 함수
  • 함수 호출 시에 함수를 입력 인자로 전달하고 호출받은 함수에서는 전달받은 함수를 호출하여 사용

1-1. 콜백 함수 만들기

def callback_func(func):
  for i in range(5):
    func()     

def print_hello():
  print('안녕하세요')
  
print_hello()
>>> '안녕하세요'

# 전달받은 매개변수 함수(print_hello())의 메모리주소를 입력받아 함수를 실행함
callback_func(print_hello)
>>> 
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요

# 콜백 함수에 매개변수로 함수가 아닌 다른 데이터를 넣었을 때 에러!
callback_func(10)

>>> TypeError: 'int' object is not callable

1-2. 콜백 함수의 매개변수와 호출될 함수의 매개변수

  • 콜백 함수의 매개변수와 호출될 함수의 매개변수의 개수는 동일해야 함

 

def callback_func(func):
  for i in range(5):
    func(i)         # 호출할 함수의 매개변수를 i 값으로 줌


def print_hello(num):
  print('안녕하세요!', num)

def print_python(num):
  print('파이썬', num)
  
  
callback_func(print_hello)
>>> 

안녕하세요! 0
안녕하세요! 1
안녕하세요! 2
안녕하세요! 3
안녕하세요! 4

callback_func(print_python)
>>> 
파이썬 0
파이썬 1
파이썬 2
파이썬 3
파이썬 4

 

 

728x90
반응형
LIST