函数是python中的类的对象?

我读到一个函数是
python中一个类的对象.为了进一步理解,我在下面做了:

>>> a=10
>>> a.__class__
<type 'int'>
>>> int.__class__
<type 'type'>
>>>
>>>
>>> def T1():
...     print 'test'
...
>>> T1.__class__
<type 'function'>
>>> function.__class__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'function' is not defined

问:为什么解释器会在第二种情况下抛出错误,而不是在第一种情况下?我期待它返回< type’type’>.请更正我的理解.

最佳答案 它是,但没有内置的名称.你可以在类型模块下找到另一个参考:

>>> import types
>>> def T1():
...     print 'test'
...     
>>> T1.__class__ is types.FunctionType
True
>>> print repr(types.FunctionType)
<type 'function'>

因此,您唯一注意到的是函数不是内置名称,与int,type等名称不同.

点赞