[Python-Dev] update_wrapper should preserve staticmethod behavior (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Wed Jun 11 21:22:49 CEST 2008
- Previous message: [Python-Dev] update_wrapper should preserve staticmethod behavior
- Next message: [Python-Dev] update_wrapper should preserve staticmethod behavior
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Calvin Spealman <ironfroggy socialserve.com> writes:
staticmethod doesn't wrap anything, it just creates a descriptor on the class with a get that returns the original, untouched callable. Doesn't even care what the thing you use it on is (function, other callable, or something else entirely.)
FWIW, I still disagree. Technically, it might not "wrap" anything (in the sense that it isn't defined as a function returning another function - which is a narrow definition of a wrapper by the way), but semantically it does. To the non-expert programmer, it is a decorator like any other one. The fact that it is implemented differently from other decorators is not an excuse for it to follow different rules...
Unless, of course, there is a good semantic reason for staticmethod not to mirror the module attribute.
(by the way, does the same apply to classmethod as well?)
Regards
Antoine.
- Previous message: [Python-Dev] update_wrapper should preserve staticmethod behavior
- Next message: [Python-Dev] update_wrapper should preserve staticmethod behavior
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]