On Sat, May 15, 2004 at 08:23:51PM +0200, moma wrote:
You can send functions (int, float) and exceptions as parameters?
Amazing.
You sure can.
numbers, sequences, dicts, functions, exceptions, classes, modules: all
these things are objects, and you can pass any object you like as a
parameter. Of course, not all object types *make sense* everywhere!
One "exception" to this rule is thinking that print is a function, and
trying to write
def send_to(value, action):
return action(value)
def f(x): return x*x
send_to(3, f) # square the argument: works
9 send_to(3, print) # Print the argument: error
File "<stdin>", line 1
send_to(3, print)
^
SyntaxError: invalid syntax
because print is a statement, not a function, this isn't really an
exception to the rule at all.
Jeff