[Python-Dev] os.path.join failure mode

Thomas Scrace tom at scrace.org
Sat Feb 9 15:35:33 CET 2013


R. David Murray <rdmurray <at> bitdance.com> writes:

> The reason we avoid such type checks is that we prefer to operate via
> "duck typing", which means that if an object behaves like the expected
> input, it is accepted.  Here, if we did an explicit type check for str,
> it would prevent join from working on an "act alike" object that had
> just enough str like methods to work correctly in os.join (for example,
> some specialized object that was among other things a filename proxy).


I see, that makes sense. Thanks. I guess this actually goes to the heart of the 
flexibility of dynamic/weakly-typed languages. If we wanted to strictly enforce 
the type of a function's arguments we would use a strong type system.





More information about the Python-Dev mailing list