AttributeError: ‘int’ 对象没有属性 ‘get’

AttributeError: ‘int’ 对象没有属性 ‘get’

AttributeError: ‘int’ object has no attribute ‘get’

Python“AttributeError: ‘int’ object has no attribute ‘get’” 发生在我们get()对整数调用该方法时。要解决该错误,请确保您调用的值get()的类型为dict

attributeerror int 对象没有属性get

下面是错误如何发生的示例。

主程序
employee = {'name': 'Alice', 'age': 30} employee = 100 print(type(employee)) # 👉️ <class 'int'> # ⛔️ AttributeError: 'int' object has no attribute 'get' print(employee.get('name'))

我们将employee变量重新分配给一个整数,并尝试调用
get()导致错误的整数的方法。

如果您print()调用的是值get(),它将是一个整数。

要解决该错误,您需要查明在代码中将值设置为整数的确切位置并更正分配。

要解决示例中的错误,我们必须删除重新分配或更正它。

主程序
employee = {'name': 'Alice', 'age': 30} print(employee.get('name')) # 👉️ 'Alice'

如果键在字典中,则dict.get方法返回给定键的值,否则返回默认值。

该方法采用以下 2 个参数:

姓名 描述
钥匙 返回值的键
默认 如果字典中不存在提供的键,则返回默认值(可选)

如果default未提供参数值,则默认为None,因此该get()方法永远不会引发KeyError.

您还可以将调用返回整数的函数的结果分配给变量。

主程序
def get_employee(): return 100 employee = get_employee() # ⛔️ AttributeError: 'int' object has no attribute 'get' print(employee.get('name'))

employee变量被分配给调用
get_employee函数的结果。

该函数返回一个整数,因此我们无法调用get()它。

要解决该错误,您必须找到为特定变量分配整数而不是字典的位置并更正分配。

结论#

Python“AttributeError: ‘int’ object has no attribute ‘get’” 发生在我们get()对整数调用该方法时。要解决该错误,请确保您调用的值get()的类型为dict