我一直在尝试使用for循环迭代一个数组(实际上是一组数组的连接)。
for i in book1+book2+book3:
print i.pageno
此处i
是book类型的对象,book1,book2和book3中的对象也是如此。
运行此代码时,出现错误。
AttributeError:'int'对象没有属性'pageno'
我已在book类中定义了pageno,该类已导入。
答案 0 :(得分:1)
' i'将取决于[book1..book3]的类型,我建议你检查(book1 + book2 + book3)的值。 如果你想知道实际的类型,你可以尝试输入(i),例如:
for i in [1, 3, 'five']:
print type(i)
输出:
<type 'int'>
<type 'int'>
<type 'str'>
答案 1 :(得分:1)
看起来你的连接数组是一个整数数组。默认情况下,整数对象没有pageno变量。
答案 2 :(得分:0)
尝试寻找book *数组:
print(type(book1), type(book2), type(book3))
并且,为什么不,尝试在循环中寻找i的类型:
bs = book1 + book2 + book3
for i in bs:
print(i, type(i))
现在你可以发现这个缺陷: - )