On Tue, Aug 24, 2010 at 4:51 AM, Steven D'Aprano <st...@pearwood.info> wrote: > But that's the thing... as far as I am concerned, a dynamically defined > attribute *doesn't* exist. If it existed, __getattr__ would never be > called. A minor semantic difference, to be sure, but it's real to me.
Eh? If "x.y" succeeds, in what sense does y not exist? > Whether I should care about the difference is a separate issue. Right, you are breaking through too much abstraction. > Performance could be an issue, of course, if somebody writes an > expensive __getattr__ or property. Computed attributes should be cheap. Yes, and it should be considered the problem of the author of that property, not of the user. > But I'm actually more concerned about side-effects than performance. Properties should not have side effects. That would be a problem when using them just as much as with hasattr(). -- --Guido van Rossum (python.org/~guido) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com