为什么在列表中列出类
Python文档将property()列为内置函数。
但是,函数描述在文档中的前面有关键字“class”。
类属性 (fget = None,fset = None,fdel = None,doc = None)
这也发生在
类集 ([iterable])
和
类切片 (停止)
这是什么意思? - 为什么在内置函数下列出类。 这仅仅是一个文档问题,还是有技术上的原因?
编辑:我不是问property()如何工作。
Python术语表定义了一个函数:
一系列向调用者返回一些值的语句。 它也可以传递零或多个可用于执行主体的参数。
一个类可以传递参数,并向调用者返回一个值,所以可以通过这个定义来论证类是函数*。
另外(正如在评论中指出的那样),一个类应该总是返回自己的一个实例 - set
, property
, slice
等等,它们都分别返回set
, property
, slice
等的实例 - 所以set
, property
和friends都是类,所以它们记录如下:
类集 ([iterable])
这意味着该set
是一个类,而不是它返回一个。
我猜这些set
等在“内置函数”页面中有记录,因为a)它们是可调用的,以及b)在一个地方为“可以调用的东西”提供所有文档很方便。
*严格地说, isinstance(C, types.FunctionType)
对于任何C
类(就我isinstance(C, types.FunctionType)
都是false,但类肯定是可调用的( isinstance(C, typing.Callable)
是true),这可能是更多有用的财产去思考。