我读到一个函数是
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等名称不同.