J. Gabriel Schenz wrote:
> Now, I am new to Python as well, but it seems like apply might not be
> completely superfluous.  I was thinking that if one were using a functional
> programming style, and had to apply a function determined at runtime to an
> argument, then one could use this apply to do so.  Granted, you could also
> have a dictionary of functions and call the function required as determined
> at runtime, but this is stylistically different.
> 
> If I am off base on this, I would appreciate someone explaining why.  That
> way I can learn this elegant language better.

apply() is superfluous. apply(function, args[, keywords]) is exactly equivalent 
to function(*args, 
[**keywords]). So however you are determining the function to use with apply, 
you can call it 
directly with the newer syntax. In each case, the variable 'function' will be 
bound to a function 
object. For example,

  >>> def foo():
  ...   print 'foo'
  ...
  >>> def bar():
  ...   print 'bar'
  ...
  >>> def pick(arg):
  ...   if arg:
  ...     return foo
  ...   else:
  ...     return bar
  ...
  >>> myFunc = pick(True)
  >>> apply(myFunc, ())
foo
  >>> myFunc()
foo
  >>> myFunc = pick(False)
  >>> myFunc()
bar

Kent

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

Reply via email to