[Python-Dev] Why does Signature.from_function() have to check the type of its argument? (original) (raw)
PJ Eby pje at telecommunity.com
Fri Feb 8 19:46:08 CET 2013
- Previous message: [Python-Dev] Why does Signature.from_function() have to check the type of its argument?
- Next message: [Python-Dev] Why does Signature.from_function() have to check the type of its argument?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Fri, Feb 8, 2013 at 10:54 AM, Stefan Behnel <stefan_ml at behnel.de> wrote:
Nick Coghlan, 08.02.2013 16:20:
On Sat, Feb 9, 2013 at 1:06 AM, Benjamin Peterson wrote:
2013/2/8 Stefan Behnel:
I'm wondering about the purpose of this code in inspect.Signature.fromfunction():
""" if not isinstance(func, types.FunctionType): raise TypeError('{!r} is not a Python function'.format(func)) """ Is there any reason why this method would have to explicitly check the type of its argument? Why can't it just accept any object that quacks like a function? The signature() function checks for types.FunctionType in order to call Signature.fromfunction(). How would you reimplement that? It should call isfunction() instead of running an explicit type check.
Isn't it possible now for an object to implement instancecheck and claim to be an instance of FunctionType, anyway? (For that matter, shouldn't there be some ABCs for this?)
- Previous message: [Python-Dev] Why does Signature.from_function() have to check the type of its argument?
- Next message: [Python-Dev] Why does Signature.from_function() have to check the type of its argument?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]