The python standard library makes extensive use of duck typing. Duck typing is a pretty fundamental part of the design of Python, IMO. Even the ABC module does a bunch of duck typing, rather than requiring strict subclassing or registration.
I think the request is valid, and it is mostly a matter of agreeing on the best way to identify function ducks. (I agree that Steven's example is intentionally trying to quack like a duck and so is not, IMO, a valid counter argument against using __code__). I doubt we would make such a change in anything except a feature release, though.
Let's see what other devs besides Steven and I think. |