lliiuu 发表于 2020-4-18 21:49:36

求助第42课的课后题,关于_new_的使用方法

坐课后作业的时候这个问题一直解决不了,改写int一直不成功,Python3.7.7。
小白也看不出代码的问题,求教大家,谢谢帮助{:5_100:}


>>> class Nint(int):
        def _new_(cls,arg=0):
                if isinstance(arg,str):
                        total=0
                        for each in arg:
                                total+=ord(each)
                        arg=total
                return int._new_(cls,arg)

       
>>> print(Nint('A'))
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
    print(Nint('A'))
ValueError: invalid literal for int() with base 10: 'A'
>>> print(Nint('123'))
123
>>>

wuqramy 发表于 2020-4-18 21:56:41

__new__不是_new_,是双下划线...

lliiuu 发表于 2020-4-18 21:58:44

wuqramy 发表于 2020-4-18 21:56
__new__不是_new_,是双下划线...

emmm,谢谢{:5_107:}
页: [1]
查看完整版本: 求助第42课的课后题,关于_new_的使用方法