Python文档将property()列为内置函数.
但是,函数描述在docs中有前面的关键字"class".
class 属性(fget = None,fset = None,fdel = None,doc = None)
这也发生在
类 集([iterable])
和
类 切片(停止)
这是什么意思? - 为什么类在内置函数下列出.这只是一个文档问题还是有技术原因?
编辑:我不是在询问property()的工作原理.
Python 术语表将函数定义为:
\n\n\n\n\n一系列向调用者返回一些值的语句。它还可以传递零个或多个可在主体执行中使用的参数。
\n
类可以传递参数,并向调用者返回一个值,因此可以说,根据这个定义,类是函数*。
\n\n此外(正如 deceze 在评论中指出的那样),类应该始终返回其自身的实例 \xe2\x80\x93 set、property、等。所有都分别返回、、等slice的实例\xe2\x80\x93 所以,和朋友也都是类,因此它们被记录为这样:setpropertyslicesetproperty
\n\n\n类 集([可迭代])
\n
意思是这set是一个类,而不是它返回一个类。
我猜想set等都记录在“内置函数”页面中,因为a)它们是可调用的,b)将“可以调用的东西”的所有文档放在一处很方便。
*严格来说,isinstance(C, types.FunctionType)对于任何类都是错误的C(据我所知),但是类肯定是可调用的(isinstance(C, typing.Callable)是正确的),这可能是一个更有用的属性。
| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |