属性 python 内置做啥? [复制]

Posted

技术标签:

【中文标题】属性 python 内置做啥? [复制]【英文标题】:What does the property python builtin do? [duplicate]属性 python 内置做什么? [复制] 【发布时间】:2020-07-23 20:57:03 【问题描述】:

我在 builtins python 对象中发现了一个名为 property 的对象。用于此的文档字符串说:典型用途是定义托管属性 x: 但我不明白这是什么意思

有人能解释一下我们必须在什么时候使用它吗?

【问题讨论】:

不完全重复,但What's the pythonic way to use getters and setters? 和How does the @property decorator work? 应该回答你的问题。 哇,python 中没有什么是透明的。谢谢! online documentation 通常比文档字符串更详细。 请重复介绍,尤其是how to ask。也就是说,“搜索和研究”。您应该有关于文档的具体问题,而不是解释该功能的通用请求。 【参考方案1】:

请注意,builtins 将返回 python3 中的标准内置对象,它提供对 Python 的所有“内置”标识符的直接访问。您可以在https://docs.python.org/3/library/builtins.html找到更多信息

   >>> import builtins
   >>> vars(globals()['__builtins__']) is vars(builtins)
    True

【讨论】:

问题是关于property,而不是关于builtins【参考方案2】:

builtin.property 的作用是获取您的属性并返回不同样式类的属性,这意味着它将是来自对象的类。内置函数的作用是它由许多不同的内置函数组成,这很明显,但典型用途是给出关于 x 的属性。下面是一个例子。如果您需要任何其他内置函数或其他 python 函数,请转到 https://help.kite.com/article/63-using-the-copilot 这就是我得到示例的地方。如果您想在搜索 builtin.property 中找到有关示例类型的更多详细信息。 典型用途是定义一个托管属性x,意思是返回无特征的对象x

 class C(object):
    def __init__(self):
        self._x = None

    def getx(self):
        return self._x
    def setx(self, value):
        self._x = value
    def delx(self):
        del self._x
    x = property(getx, setx, delx, "I'm the 'x' property.")

【讨论】:

以上是关于属性 python 内置做啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

继承 python 内置数据类型与创建新对象? [复制]

Python 字典(内置哈希表)是如何实现的? [复制]

Python以递归方式返回n个列表的出现,无需切片/深度复制或内置函数

python进阶之py文件内置属性

python可以做啥

python-面向对象速查表-内置方法-内置函数-内置属性(只整理了部分内容)