TypeError: descriptor 'setdefault' for 'dict' objects doesn't apply to a 'int' object
时间: 2023-07-10 12:04:18 浏览: 291
解决Python 异常TypeError: cannot concatenate str and int objects
3星 · 编辑精心推荐
这个错误通常出现在尝试使用 `setdefault()` 方法在一个整数对象上,而不是在字典对象上。`setdefault()` 方法用于在字典中获取指定键的值,如果该键不存在,则将其添加到字典中并将其值设置为指定的默认值。
例如,以下代码会引发这个错误:
```
my_number = 10
my_number.setdefault('key', 0)
```
因为 `my_number` 是一个整数对象,而不是字典对象。如果你想使用 `setdefault()` 方法来设置默认值,则需要将其用在一个字典对象上,例如:
```
my_dict = {'a': 1, 'b': 2}
my_dict.setdefault('c', 0)
```
这将在 `my_dict` 中添加一个新键值对 `{'c': 0}`,因为该键在字典中不存在。如果键 `'c'` 已经存在,则返回其对应的值。
阅读全文