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
