考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

以下错误哪一个是因为变量不存在时会报的错误:
A. KeyError
B. NameError
C. TypeError
D. ZeroDivisionError
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:B: NameError

### 专业分析

1. **KeyError**:
- **触发条件**:当尝试访问字典中不存在的键时,会引发 `KeyError`。
- **示例**:
```python
my_dict = {'a': 1}
value = my_dict['b'] # KeyError: 'b'
```

2. **NameError**:
- **触发条件**:当代码尝试访问一个未定义的变量时,会引发 `NameError`。
- **应用场景**:该错误直接与变量的存在性相关,即在尝试使用一个从未定义过的变量时发生。
- **示例**:
```python
print(value) # NameError: name 'value' is not defined
```

3. **TypeError**:
- **触发条件**:当在操作或函数中使用不合适类型的对象时,会引发 `TypeError`。
- **示例**:
```python
result = '2' + 2 # TypeError: can only concatenate str (not "int") to str
```

4. **ZeroDivisionError**:
- **触发条件**:当一个数被零除时,会引发 `ZeroDivisionError`。
- **示例**:
```python
result = 10 / 0 # ZeroDivisionError: division by zero
```

因此,从以上解释可以看出,当变量不存在时,Python 会抛出 `NameError`。