This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author jafo
Recipients fdrake, jafo, nirs, pythonmeister
Date 2007-09-17.18:37:49
SpamBayes Score 0.060928036
Marked as misclassified No
Message-id <1190054270.22.0.507585823989.issue1126@psf.upfronthosting.co.za>
In-reply-to
Content
I'm thinking that nirs is not thinking of this in the "duck typing"
environment.  Duck typing says that you implement things that are
appropriate for your object type, and code does what it needs to do.  If
the object doesn't support attributes that the code it's passed to
needs, (it doesn't "quack like a duck"), then the code should fail.

I think nirs is thinking that you have to check every attribute before
you use it.  But if the object you implement doesn't reasonably have a
"istty" or "fileno" associated with it, the Python Way is that if you
pass it to code that needs that attribute, that it bomb out.

There may be cases where you might write code that checks for an
attribute, say if the code can provide enhanced functionality if the
attribute is available, but can still provide it's basic functionality
if it does not.

I'm agreeing that I don't think the documentation is incorrect in this case.

I'm thinking that nirs should probably take this to the python mailing
list, and if after discussion there it is believed to still be a
problem, reference the thread here and re-open it.  I'm going to call it
closed for the moment.
History
Date User Action Args
2007-09-17 18:37:50jafosetspambayes_score: 0.060928 -> 0.060928036
recipients: + jafo, fdrake, nirs, pythonmeister
2007-09-17 18:37:50jafosetspambayes_score: 0.060928 -> 0.060928
messageid: <1190054270.22.0.507585823989.issue1126@psf.upfronthosting.co.za>
2007-09-17 18:37:50jafolinkissue1126 messages
2007-09-17 18:37:49jafocreate