为了账号安全,请及时绑定邮箱和手机立即绑定

关于python的__len__函数问题

关于python的__len__函数问题

潇潇雨雨 2019-02-18 04:39:36
class Echo(): def __init__(self, name): self.name = name print("Hello {}!".format(name)) def __len__(self): n=0 name=self.name for i in name: if i.isupper()==True: n=n+1; print("Hello {}!".format(n)) s = input() echoA = Echo(s) len(echoA) 想问一下各位,为何会报这个错'NoneType' object cannot be interpreted as an integer
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

定义魔术方法 def __len__(self) 时,需要返回一个数值,,,即 __len__() should return >= 0。。你这里没有显示使用 return 语句,所以默认返回 None

查看完整回答
反对 回复 2019-03-01
?
弑天下

TA贡献1818条经验 获得超8个赞

__len__:官方文档

该方法必须要有返回值,并且返回值为 integer >= 0.

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 657 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信