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
'Python > Basic' 카테고리의 다른 글
[파이썬, Python] 객체지향 프로그래밍 - 객체 지향과 클래스(Class) (0) | 2023.03.09 |
---|---|
[파이썬, Python] 변수의 범위 - 스코프(Scope), 지역변수(local 변수), 전역변수(global 변수), global 키워드 (0) | 2023.03.09 |
[파이썬, Python] 함수 - 1️⃣ 사용자 정의 함수 (0) | 2023.03.09 |
[파이썬, Python] 자료구조(Data Structure) - 4️⃣ 세트(set) (0) | 2023.03.08 |
[파이썬, Python] 자료구조(Data Structure) - 3️⃣ 딕셔너리(Dictionary, dict) (0) | 2023.03.08 |