【发布时间】:2021-05-26 21:55:26
【问题描述】:
class book():
def __init__(self,name,author,page,type):
self.name = name
self.author = author
self.page = page
self.type = type
print("Book information")
def __len__(self):
return self.page
xxx = book("Of mice and men","John Steinbeck",293,"Roman")
print(len(xxx))
这段代码是真的。但是如果我写return "Page : {} ".format(self.page) 而不是return self.page,我会遇到错误。为什么?
Error = TypeError: 'str' 对象不能被解释为整数 enter image description here
【问题讨论】:
-
文档声明
__len__方法应该返回一个整数。 docs.python.org/3/reference/datamodel.html#object.__len__ -
顺便说一句,
type是变量的坏名称,因为已经有一个内置的type。
标签: python-3.x string integer typeerror