FWIW, mxDateTime exposes these values as attributes -- there is no call overhead.
Good, I think this is the way to go. (Of course there will be some C-level call overhead if we make these properties.)
Serious question: what do you tend to do with time values? I imagine that once we change strftime() to accept an abstract time object, you'll never need to call either timetuple() or year() -- strftime() will do it for you.
Depends on the application space. Database applications will call .timetuple() very often and use strftime() hardly ever.
What does a database app with the resulting tuple?
--Guido van Rossum (home page: http://www.python.org/~guido/)