[Python-Dev] os.path.join failure mode (original) (raw)

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


R. David Murray <rdmurray 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