"Jramak" <[email protected]> wrote

I'm confused by callbacks. I would really appreciate any introduction or
help in understanding the concept of callbacks.

Callbacks are used in all sorts of different ways in programming so it might help to undertand what exactly confuses you.

Is it the whole concept of a callback? Is it the idea of a function as an object?
Is it the use of callbacks?
   In a GUI? In a networking framework like Twisted?

Do you want to use someone elses callback mechanism or do you want to create your own?

The basic name comnes from the concept of calling someone, asking them to do someting then call you back when they are done. So you leave your number with them.
The number you leave is what they "call back".
In programming you call a function and at some critical point that function calls you back on the function that you passed in.

def someFunction(value, callback)
      result = pow(value,2)
      callback(result)

def myFunction()
      v = 42
      someFunction(v, myFunction_continue)

def myFunction_contiinue(result)
     print result

myFunction()

This was very useful before threading environments became common as a way of simulating multi threading. Then when GUIs came along it bacame a common way of associating functions with widgets. And in networking we can associate network events with functions in a similar way. In fact any kind of event driven program is likely to use callbacks as a way of distributing control depending on event type. The typical implementation will see the event framework storing the callbacks in some kind of dictionary
keyed by event type.

HTH,


--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to