[Python-Dev] 'hasattr' is broken by design (original) (raw)

Michael Foord fuzzyman at voidspace.org.uk
Mon Aug 23 22:55:00 CEST 2010


On 23/08/2010 23:13, Benjamin Peterson wrote:

2010/8/23 Michael Foord<fuzzyman at voidspace.org.uk>:

To me hasattr looks like a passive introspection function, and the fact that it can trigger arbitrary code execution is unfortunate - especially because a full workaround is pretty arcane. That's the danger of a dynamic language like Python. Even dir() can now trigger things like that.

Well yes. One of the reasons a full workaround is so arcane is that if you really don't want to trigger code execution you can't call dir...

(Otherwise name in dir(obj) is a reasonable approximation for hasattr(obj, name).)

Michael

-- http://www.ironpythoninaction.com/



More information about the Python-Dev mailing list