Sometimes Python messes with me. Today for example: Initializers of optional function arguments are unfortunately evaluated at the time of compilation! So if you define a now=time.localtime(time.time()) as an optional parameter, you shouldn't be surprised if now is only the time of the last module compile, and not really today. I'm still not sure if I see that as a bug or a feature.