首页 > Python的实例属性如何理解?

Python的实例属性如何理解?

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

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

s = IntSet()

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


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


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

【热门文章】
【热门文章】