콜백은 사용자가 제공 한 후크입니다. 특정 이벤트의 경우 호출 할 함수를 지정할 수 있습니다. re.sub
은 콜백을 가지고 있지만, 당신은 GUI 다루고있는 것 같은데, 그래서 GUI 예를 들어주지 : 당신이 키를 누르면
from Tkinter import *
master = Tk()
def my_callback():
print('Running my_callback')
b = Button(master, text="OK", command=my_callback)
b.pack()
mainloop()
:
여기
콜백의 아주 간단한 예입니다 OK
버튼을 누르면 프로그램은 "Running my_callback"을 인쇄합니다. 이 코드와 함께 놀러 경우
:
from Tkinter import *
import time
master = Tk()
def my_callback():
print('Starting my_callback')
time.sleep(5)
print('Ending my_callback')
def my_callback2():
print('Starting my_callback2')
time.sleep(5)
print('Ending my_callback2')
b = Button(master, text="OK", command=my_callback)
b.pack()
b = Button(master, text="OK2", command=my_callback2)
b.pack()
mainloop()
당신이 볼이 콜백이 완료 될 때까지 응답에서 어느 한 쪽 버튼을 블록에게 GUI를 눌러. 따라서 "사용자는이 특정 API 함수가 완료 될 때까지 기다려야합니다."
답장을 보내 주셔서 감사합니다. 따라서 콜백 (API) 메서드와 일반 (API) 메서드 간의 유일한 차이점은 단순히 값을 반환하는 대신 콜백 메서드가 완료되면 차례대로 사용자 메서드를 호출한다는 것입니다. – iman453
위의 "일반적인 방법"(erm, 더 나은 API 개체라고 함)은'Button'입니다. "콜백 메소드"(더 나은 콜백 함수)는'my_callback'입니다. 'Button'과'my_callback'의 차이점은 API가'Button'의 정의를 제공하고 API의 사용자는'my_callback' 만 정의하면된다는 것입니다. API 코드 내부에는 사용자가 버튼을 누르면 일부 기능을 호출하는 로직이 있습니다. 버튼을 사용자 정의하기 위해 API는 API 사용자가'my_command'를 호출 할 함수로 연결하도록 허용합니다. 그것이 바로 콜백입니다. 그들은 일반적으로 제어하지 않는 다른 코드에 연결합니다. – unutbu
알았어요, 고마워! – iman453