关于__new__用法的比较
class C2F(float):"摄氏度转换为华氏度"
def __new__(cls, arg=0.0):
return float.__new__(cls, arg * 1.8 + 32)
class C2F:
def __new__(cls,dg):
return dg*1.8+32
以上两个类,第一个会比第二个更好么?如果好,好在了哪呢?
主要区别在于返回的是谁的实例
第一个代码返回的是 C2F 类的实例对象
第二个代码返回的是 float 的实例对象
你若新写的类 和 float 相差不大,就不用太纠结,都差不多
若你重写的类 和 float 有些差别,那么肯定是第一个代码好
因为你重定义的类,可以调用你自己后续重写的方法,而 float 不能调用你自己重写的方法
页:
[1]