Python中eval和int的区别
时间: 2024-03-24 11:36:17 浏览: 118
python中eval与int的区别浅析
`eval()` 和 `int()` 均可以将字符串转换为数字类型,但是它们的作用不同。
`int()` 函数将字符串转换为整数类型,如果字符串中包含非数字字符,则会抛出 `ValueError` 异常。例如:
```python
num_str = "123"
num_int = int(num_str)
print(num_int) # 输出结果为 123
```
```python
num_str = "abc"
num_int = int(num_str) # 会抛出 ValueError 异常
```
`eval()` 函数可以将字符串中的表达式求值,返回表达式的结果。例如:
```python
expr_str = "1 + 2"
expr_result = eval(expr_str)
print(expr_result) # 输出结果为 3
```
```python
expr_str = "1 + '2'"
expr_result = eval(expr_str) # 会抛出 TypeError 异常
```
因此,`int()` 和 `eval()` 的作用不同,使用时需要根据具体需求进行选择。
阅读全文