>>> type(OptimizedRectangle)
<class 'type'>
>>> type(OptimizedRectangle.get_area)
<class 'function'>
因此类的方法是类function
的实例。你知道吗
>>> type(function)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'function' is not defined
既然function
是一个类,而一个类是一个对象,那么function
的类型是什么,即它是什么的实例?你知道吗
正如评论所建议的那样
>>> type(type(OptimizedRectangle.get_area))
<class 'type'>
那为什么type(function)
不起作用呢?function
是一个类,类的方法是它的一个实例吗?你知道吗
同样,为什么type(module)
不起作用?你知道吗
>>> type(builtins)
<class 'module'>
>>> type(module)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'module' is not defined
函数是Python中最简单的可调用对象。 read more here
内置模块^{} 存储语言中使用的所有类型。它还包含对应于实例方法的^{} :
在解释器中调用
type(Foo.bar)
时,输出是<class 'function'>
,但是这并不一定意味着类的名称是'function'
,而是类的表示(__repr__
):正如在注释中指出的
types.FunctionType
也只包含对在实现级别定义的函数类型的引用。你知道吗FunctionType
的类型也是type
,也就是说FunctionType
是type
的实例(所有类都是这样)。你知道吗还要注意它的特殊性
这意味着类型是它自己的类(即
type.__class__
指向它自己)。这是在执行层面实现的。你知道吗相关问题 更多 >
编程相关推荐