[Python] 파이썬 Callback 구현
- 파이썬(Python)
- 2022. 3. 4. 21:23
참조
소개
안녕하세요. 요새 파이썬을 이용해서 회사에서 프로젝트를 진행하고 있습니다.
개발을 하던 중, 서로 다른 클래스에서 데이터를 주고 받아야 하는 일이 있었는데요.
C#에서는 delegate, event를 이용하여 callback으로 쉽게 데이터를 주고 받을 수 있는데,
찾아 보니까 Python에서도 Callback 기능이 있어서 내용 정리하고자 포스팅 하게 되었습니다.
예제 코드를 통해서 실제 Python에서 Callback 구현을 어떻게 하는지 알려 드리겠습니다.
예제 코드
# 콜백 클래스 정의
class callback_class():
def message_event(self, callback_function, student_list, key_val):
print("콜백 Class 호출 : %d" %key_val)
callback_function(student_list, 20)
# 메인 Class 정의
class student_class():
def handler(self, student_list, key_val):
self.key_val = key_val
cb_class_obj = callback_class()
cb_class_obj.message_event(self.cb_handler, student_list, key_val)
def cb_handler(self, student_list, key_val):
print ("콜백 호출 %d" %key_val)
for key, value in student_list.items():
print(key, value)
print("keyval is %d" % self.key_val)
student = student_class()
student_list = {'Jo': 29, 'Kim': 23}
student.handler(student_list, 80)
실행 결과
- 다음과 같이 Callback 을 통해서 서로 다른 Class에서 데이터를 넘겨주는 것을 확인할 수 있습니다.
콜백 Class 호출 : 80
콜백 호출 20
Jo 29
Kim 23
keyval is 80
728x90
'파이썬(Python)' 카테고리의 다른 글
[Python] 파이썬 설치경로 확인하기 (0) | 2022.03.18 |
---|---|
[Python] 파이썬 단위테스트 Mock 파일 사용하기 (0) | 2022.03.13 |
[Python] Visual Studio Code 에서 Python 단위테스트 사용하기 (0) | 2022.03.01 |
[Python] NumPy 배열 연산 (0) | 2022.02.18 |
[Python] NumPy 배열 변환 (0) | 2022.02.18 |
이 글을 공유하기