gpt4 book ai didi

Python - 为什么类列在内置函数列表中?

转载 作者:太空狗 更新时间:2023-10-29 21:54:09 26 4
gpt4 key购买 nike

Python 文档将 property() 列为 built-in function .

然而,函数description在文档中前面有关键字“class”。

class property(fget=None, fset=None, fdel=None, doc=None)

这也发生在

class set([iterable])

class slice(stop)

这是什么意思? - 为什么类列在内置函数下。这只是文档问题还是有技术原因?

编辑:我不是在问 property() 是如何工作的。

最佳答案

Python glossary定义一个函数为:

A series of statements which returns some value to a caller. It can also be passed zero or more arguments which may be used in the execution of the body.

一个类可以传递参数,并返回一个值给调用者,所以根据这个定义可以说类函数*。

此外(正如 deceze 在评论中指出的那样),一个类应该始终返回其自身的一个实例——setpropertyslice 等都分别返回 setpropertyslice 等的实例——所以 setproperty 和 friends 都是也是类,因此它们被记录为:

class set([iterable])

意思是 set 是一个类,而不是它返回一个类。

我猜想 set 等记录在“内置函数”页面中,因为 a) 它们是可调用的,并且 b) 拥有“你可以做的事情”的所有文档很方便在一个地方调用"。

*严格来说,isinstance(C, types.FunctionType) 对于任何类 C 都是假的(据我所知),但是类肯定是可调用的( isinstance(C, typing.Callable) 为真),这可能是一个更值得考虑的有用属性。

关于Python - 为什么类列在内置函数列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48439619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com