__new__ 的简单应用

用__new__与__init__不同,通过继承内建类型对象,__new__可以用来创建一个简单的新类型,在__new__加入一些动作以完成创建。

class RoundFloat(float):
    def __new__(cls, val):
        return super(RoundFloat, cls).__new__(cls, round(val, 2))

以上代码创建了一个保留2位小数的四舍五入的浮点数

 

posted @ 2013-07-22 14:52  践道者  阅读(240)  评论(0编辑  收藏  举报