> What's the problem with this? > > from types import FunctionType > if isinstance(f, FunctionType): > ... > > Bye, > bearophile
Well... it's discouraged by the docs =) At least the use of module types. I was just wondering if there were some alternatives. Never thought I would start off a thread this long =) That was basically my reason for asking about something similar like the functions list(), dict(), int(), etc... when called without (), they return <type 'sometype'>. I just wanted to know if there was a keyword for functions, too. Then u could've done: type(f) is function quite similar to: type(x) is int Didn't intent to be a Documentation-Nazi *G* -elderic Excuse my large paste from the Python 2.5 Documentation: --------------------------------------------------------------------------------------- 5.15 types -- Names for built-in types <snip!> Typical use is for functions that do different things depending on their argument types, like the following: from types import * def delete(mylist, item): if type(item) is IntType: del mylist[item] else: mylist.remove(item) Starting in Python 2.2, built-in factory functions such as int() and str() are also names for the corresponding types. This is now the preferred way to access the type instead of using the types module. Accordingly, the example above should be written as follows: def delete(mylist, item): if isinstance(item, int): del mylist[item] else: mylist.remove(item) --------------------------------------------------------------------------------------- -- http://mail.python.org/mailman/listinfo/python-list