AttributeError: ‘int’ 对象没有属性 ‘get’
AttributeError: ‘int’ object has no attribute ‘get’
Python“AttributeError: ‘int’ object has no attribute ‘get’” 发生在我们get()
对整数调用该方法时。要解决该错误,请确保您调用的值get()
的类型为dict
。
下面是错误如何发生的示例。
主程序
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
。