Pavlos Christoforou wrote:
Hi Martijn -
Hi Pavlos! [snip my question]
In python function arguments that have default values are evaluated at 'compilation' time.
So for example the following code raises an error:
def callee(a=b): print b
Traceback (innermost last): File "<stdin>", line 1, in ? NameError: b
Yes, but am I indeed using that part of Python? I was thinking I was using (the equivalent of) this: def callee(a, b, c): # (could also use default initializers here) print a, b, c callee(a="foo", b="bar", c="baz") And this works just fine in Python. this does too: hey = "some text" callee(a=hey, b="bar", c="baz")
Seems that Zope will not raise an error when the DTML is originally defined, which is puzzling for me too.
I'm still not quite sure *why* it raises the error at all. If your answer is the right one, I need some more explaining.. :) Thanks, and regards, Martijn