魔法方法
class Capstr(str):def __new__(cls,string):
string=string.upper()
return str.__new__(cls,string)
我想知道def__new__方法的cls绑定的是哪个类,def__new__是不是也能看做def__init__
cls 是 Capstr 或者是它的子类
不能。你用 __init__() 并不能实现大写字符串的操作。 永恒的蓝色梦想 发表于 2020-5-10 14:16
cls 是 Capstr 或者是它的子类
不能。你用 __init__() 并不能实现大写字符串的操作。
那如果我不想用str的new方法返回该怎么写返回值 君子好逑 发表于 2020-5-10 16:08
那如果我不想用str的new方法返回该怎么写返回值
你只能用str的new方法返回。 永恒的蓝色梦想 发表于 2020-5-10 16:11
你只能用str的new方法返回。
这么难的吗{:10_245:} 君子好逑 发表于 2020-5-10 16:11
这么难的吗
如果这个类是Python实现的还行,但str不是Python实现的,所以你只能用str的new方法返回 永恒的蓝色梦想 发表于 2020-5-10 16:12
如果这个类是Python实现的还行,但str不是Python实现的,所以你只能用str的new方法返回
好吧,谢谢大佬解惑
页:
[1]