python类名括号里面加float有什么用?
本帖最后由 LIUQOQ 于 2021-8-30 19:47 编辑零基础的41节我有点不懂括号里的float具体是什么用处,
只知道怎么用但是不理解ta求解T_T
class C2F(float):
def __new__(cls,num):
new = num*1.8 + 32
return print(float.__new__(cls,new))
C2F(32) 将32转化为float类型
同样的
class C2F(int):
def __new__(cls,num):
new = num*2 + 32
return print(int.__new__(cls,new))
本帖最后由 阿奇_o 于 2021-8-30 20:09 编辑
int, float, str, list, dict 这些都是比较特殊的"类名", 是基本的"数据类型",
在自定义类是,class MyClass(float):就是继承float的意思,
说白点就是:我声明 我MyClass 认 float 为父!我将继承它相关的财产(属性和方法)
这样,我就可以 直接在类里调用 float.__xxx__这样的方法,或使用 super().__init__() 这样的方法,就是调用父类的方法。
ps: 所有的类都默认继承object这个总父类。 这个是类的继承
所谓继承,就是拥有它的一切
在定义一个C2F类的时候,继承了float的一切
所以你创建C2F实例的时候,相当于是创建了一个float
只是修改了它的new方法,使得每个实例都会变为new = num*1.8 + 32
之后在使用这个数据的时候,可以像float那样使用了 int, float, 是基本的"数据类型",
在自定义类是,class Floo(float):就是继承float的意思, 清少呐 发表于 2021-8-31 08:33
int, float, 是基本的"数据类型",
在自定义类是,class Floo(float):就是继承float的意思,
继承float有什么实际作用呢?我也可以直接调用他啊 hhjdsd 发表于 2021-8-30 20:07
将32转化为float类型
同样的
原来是把参数转化类型啊
终于懂了,谢谢{:5_105:}
页:
[1]