Python文档将property()列为built-in function。
但是,函数description在文档中前面有关键字“class”。
class property (fget = None,fset = None,fdel = None,doc = None)
也会发生这种情况
class set ([iterable])
和
class 切片(停止)
这是什么意思? - 为什么类在内置函数下列出。这只是一个文档问题还是有技术原因?
编辑:我不是在询问property()的工作原理。
答案 0 :(得分:3)
Python glossary将函数定义为:
一系列语句,它们向调用者返回一些值。它也可以传递零个或多个参数,这些参数可以用于执行正文。
一个类可以传递参数,并向调用者返回一个值,因此可以说这个定义类是函数*。
此外(如评论中的deceze指出),类应始终返回自身的实例 - set
,property
,slice
等。所有返回{的实例分别为{1}},set
,property
等 - 所以slice
,set
和朋友都是也是类,所以他们记录如下:
class set ([ iterable ])
意味着property
是一个类,而不是返回一个。
我猜在{"内置函数"中记录了set
等。页面因为a)它们是可调用的,并且b)方便的所有文档都可以调用"你可以调用的东西"在一个地方。
*严格地说,set
对于任何类isinstance(C, types.FunctionType)
都是假的(据我所知),但类肯定是callables(C
是真的),这可能是一个想想更有用的财产。