python中__new__ 的作用

来源:互联网 发布:miss淘宝店外设 编辑:程序博客网 时间:2024/06/17 09:12
class PositiveInteger(int):    def __init__(self, value):        super(PositiveInteger, self).__init__(self, abs(value))  i = PositiveInteger(-3)print i 

结果仍然是-3

class PositiveInteger(int):    def __new__(cls, value):        return super(PositiveInteger, cls).__new__(cls, abs(value))  i = PositiveInteger(-3)print i 

这样就是3了

0 0
原创粉丝点击