python 41讲 __new__问题
41讲视频里面,小甲鱼讲的例子是:class Capstr(str):
def __new__(cls,string):
string = string.upper()
return str.__new__(cls,string) 但是我发现,把最后一句改为return string
变成:
class Capstr(str):
def __new__(cls,string):
string = string.upper()
return string
输出结果也是一样的,请问这两种有什么区别?为什么用上一种呢? 你可以 print 一下他们的 type 值
第一种方法:
>>> type(Capstr('abcd'))
<class '__main__.Capstr'>
而第二种方法:
>>> type(Capstr("abcd"))
<class 'str'>
两者的类型是不一样的,一个是 Capstr,一个是 str zltzlt 发表于 2019-7-28 10:11
你可以 print 一下他们的 type 值
第一种方法:
这样啊,谢谢啦
页:
[1]