style question - hasattr

ian ian.team.python at saltmob.com
Tue Apr 8 22:21:51 EDT 2008


In old python code i would use 'has_key' to determine if an element
was present in a dictionary.

Python 3.0 will even removed 'has_key'. The reason for removal is that
using the 'in' operator is a cleaner syntax and having two ways to
achieve the same result is against the principle of the language.

Ok, so what about 'hasattr'  ??
    hasattr(myObject,'property')
seems equivalent to
    'property' in dir(myObject)

I would suggest that using the 'in' is cleaner in this case also. Is
there a performance penalty here? Or is there reason why the two are
not actually the same?

Which style is preferred??



More information about the Python-list mailing list