塑料袋儿 发表于 2017-4-7 10:44:52

python的__new__方法咋用

class A(str):
        def __new__(cls,string):
                return A.__new__(cls,string)
为啥不行呢?
这个new方法的cls指的是调用它的A类吗?
new方法应该咋么用呢?

zlj19931010 发表于 2017-4-7 12:29:02

cls就是这个类,之后的其他参数都是用来传递给__init__函数的

小甲鱼有文档:http://bbs.fishc.com/forum.php?mod=viewthread&tid=48793&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403

然后你这里代码会一直递归报错,应该这样:
class A(str):
    def __new__(cls,string):
      return str.__new__(cls,string)
或者调用你想要生成的类的new函数
页: [1]
查看完整版本: python的__new__方法咋用