解决 Python 中 AttributeError: ‘list‘ object Attribute ‘append‘ Is Read-Only 错误

在 Python 中使用列表时,我们可以对数据类型运行不同的操作(方法)。 我们必须了解它们的工作原理,才能有效且无误地使用它们。

要使用这些方法,我们需要知道它们的语法、错误和操作模式。 append() 方法是众多方法中的一种,它可以帮助我们将新元素添加到列表中。

但是,如果我们误用它,我们会得到一个 AttributeError: ‘list’ object attribute ‘append’ is read-only 的错误信息。

本文将向您展示导致此 AttributeError: ‘list’ object attribute ‘append’ is read-only 错误消息的原因以及解决方法。


使用正确的语法解决 AttributeError: ‘list’ object attribute ‘append’ is read-only

AttributeError: ‘list’ object attribute ‘append’ is read-only 错误消息是一个 AttributeError ,表示属性引用或赋值失败。

我们可以从错误消息中了解可能发生的情况。 对象属性追加是只读的,并且由于这种情况,引用或赋值操作失败。

当数据为只读时,也就是append,只能访问不能修改。 因此,在我们的代码中,有一个表达式试图修改’list’对象属性’append’。

让我们尝试使用简单的 Python 代码复制相同的错误消息。

在这段代码中,我们创建了一个变量 shopList,它包含一个元素列表。 然后,另一个变量 value 绑定到字符串 toothpick。

之后,它打印 shopList 的内容。 最后,它尝试将绑定值附加到列表 shopList。

代码:

shopList = ["banana", "orange", "sugar", "salt"]
value = "toothpick"
print(shopList)
shopList.append = value

输出:

['banana', 'orange', 'sugar', 'salt']
Traceback (most recent call last):
  File "c:\Users\akinl\Documents\Python\alt.py", line 4, in <module>
    shopList.append = value
AttributeError: 'list' object attribute 'append' is read-only

我们可以看到报错信息 AttributeError: ‘list’ object attribute ‘append’ is read-only 我们打算解决。 从错误中,我们知道错误的原因出现在第 4 行中。

下面的代码是第 4 行中的内容:

shopList.append = value

现在,这里出了什么问题?

该属性称为追加。 代码试图将绑定值分配给 append 方法,这会导致错误和异常,因为您不应该替换内置对象上的方法。

导致 AttributeError 的是关于如何使用 append 方法的 SyntaxErrorappend 方法的正确使用方法如下:

shopList.append(value)

现在,让我们重写相同的代码。

shopList = ["banana", "orange", "sugar", "salt"]
value = "toothpick"
print(shopList)
shopList.append(value)
print(shopList)

输出:

['banana', 'orange', 'sugar', 'salt']
['banana', 'orange', 'sugar', 'salt', 'toothpick']

因此,当遇到 AttributeError 时,请检查您的语法,因为使用其他方法(例如 index.js)也可以看到相同的错误。

代码:

shopList = ["banana", "orange", "sugar", "salt"]
shopList.index = "banana"

输出:

Traceback (most recent call last):
  File "c:\Users\akinl\Documents\Python\index.py", line 2, in <module>
    shopList.index = "banana"
AttributeError: 'list' object attribute 'index' is read-only

这次错误是 AttributeError: ‘list’ object attribute ‘index’ is read-only

始终注意您的语法。

你可能感兴趣的:(Python,实用技巧,python,list,windows)