您正在查看: 标签 python 下的文章

Python新式类-统一types和class

这篇文章翻译自 Python官方的非正式文档 https://www.python.org/download/releases/2.2.3/descrintro/

引言

Python2.2引入类型和类的统一(type/class unification)的第一个阶段。这是我们试图引入一系列措施,以消除内置类型和用户定义类之间的区别。也许其中最严重的限制就是内置类型不能作为基类被继承。

新式类的引入是Python最大的改变之一,当然也会引入一些向后兼容性的问题。 这些改变在都在一系列的Python PEP文档中详细描述。 PEPs不是面向初学者的文档,PEPs描述的type/class unification的方式有时候令人难以理解,而且PEPs目前尚不完善。本篇文章的主要目标就是向广大的基础的Python程序员解释type/class unification中最关键的部分。

Continue Reading...

Python中的__slots__的用途

限制类属性的扩展

我们知道Python中,我们很容易为一个类的实例增加属性或者方法。
比如

class Student(object):
    pass

s = Student()
s.name = "lightky"
print(s.name)  #为实例s增加了属性name

def set_id(self, id):
    self.id = id

from types import MethodType

s.set_id = MethodType(set_id, s)
s.set_id(201300000001)
print(s.id)   # 为s增加了set_id方法,从而可以输出id属性

Continue Reading...