Python 2.2版本后:XML文件与类型子类化的改进

需积分: 50 117 下载量 6 浏览量 更新于2024-08-09 收藏 8.88MB PDF 举报
在Python 2.2及以后的版本中,XML文件格式的使用得到了改进,尤其是在处理类和类型方面。一个经典的问题在于Python中的标准类型无法直接子类化,但在新版本中,这一限制得到了解决。为了演示这个变化,作者举了两个子类化Python类型的例子,一个是可变类型(如`RoundFloat`类),另一个是不可变类型。 首先,不可变类型的子类`RoundFloat`被创建用于金融应用中处理浮点数的场景。该类覆盖了`__new__()`特殊方法,以确保每次创建的新对象都是经过四舍五入到两位小数的。通过调用父类`float`的`__new__()`方法,并利用`round()`内置函数,我们实现了定制化的浮点数行为。值得注意的是,所有类方法(包括`__new__()`)都应显式传递类作为第一个参数,类似于`__init__()`方法中的`self`。 接着,作者建议使用`super()`内建函数来更优雅地调用父类的方法,以避免重复代码。这使得代码更加简洁且易于维护。然而,这里的示例并未提供完整的实现,因此后续章节可能会进一步扩展和完善这个类,提供更多的功能和用例。 与此同时,关于《Python核心编程》第二版,这本书获得了业界的高度评价。例如,Alex Martelli赞誉其深度、广度以及实用的练习,认为它是学习Python的最佳选择,甚至优于其他同类教材,如《Learning Python》、《Programming Python》和《The Quick Python Book》。大卫·梅尔兹博士也表达了相似的观点,认为这本书提供了卓越的学习体验。 这段内容着重讨论了Python 2.2版本之后对类型和类处理的改进,特别是如何通过子类化实现特定功能,以及推荐的Python学习资源——《Python核心编程》第二版。通过阅读和实践这些内容,开发者可以更好地理解和运用Python语言。