Python 的实例属性如何理解?

发布于 2022-09-01 21:52:36 字数 231 浏览 9 评论 0

在看 编程导论 的面对对象编程时,提到了一个示例:(部分代码)

class IntSet(object):
    def insert(self, e):
        <...>

s = IntSet()

在随后的讲解中,作者提到: IntSet.inserts.insert 是不同的对象。这句话如何理解?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮生面具三千个 2022-09-08 21:52:36

这个问题涉及的东西有点多。
简单的讲就是类属性,实例属性的区别。
扩展开来讲就是类属性和实例属性查找的细节不同,这里面包括内置方法,描述符,装饰器相关知识。
这方面的文章有:
[编写高质量代码 改善 Python 程序的 91 个建议]这本书的第 59,第 60 个建议。
原文:
Python Attributes and Methods
Descriptor HowTo Guide
译文:
Python 属性和方法
Python 描述器引导(翻译)

惟欲睡 2022-09-08 21:52:36

s.insert(e) 相当于 IntSet.insert(s, e)s.insert 相当于 functools.partial(IntSet.insert, s),也就是把实例对象绑定作为第一个变量后得到的新的函数。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文