我收到“TypeError:'Phone'类型的对象没有len()” 和“'手机'对象没有属性' getitem '” 任何人都可以详细说明吗?
class Phone(object):
def __init__(self, number):
self.number = number
def number(number):
'''Test if the number is valid or not'''
for i in range(number):
n = ''.join(i for i in number if i.isdigit())
if (len(n) >= 12) or (len(n) <= 9):
return '0' * 10
elif len(n) == 11 and n[0] != 1:
return '0' * 10
elif n[0] == 1 and len(n) == 11:
return n.pop[0]
else:
return n
答案 0 :(得分:1)
两个不同的例外情况让我认为您测试的代码版本很少,并且建议您不会遇到这些错误。因为在这种情况下
self.number = number
应该覆盖数字方法
但似乎问题如下:
实例方法的第一个参数应为self
。在任何情况下,实例都作为第一个参数传递给绑定方法
方法number
中的number
是Phone
个实例。
您似乎正在尝试使用此number
(这是自我)和字符串一起操作,因此您有以下例外:
“TypeError:'Phone'类型的对象没有len()”和“'Phone'对象没有属性'getitem'”