eval()
函數十分強大 —— 將字符串 當成 有效的表達式 來求值 並 返回計算結果
In [1]: eval("1 + 3")
Out[1]: 4
In [2]: eval("(1+2)*3")
Out[2]: 9
In [3]: eval("[1, 2, 3]")
Out[3]: [1, 2, 3]
In [5]: eval("type({'name': 'zhangsan'})")
Out[5]: dict
案例 - 計算器
需求:
- 提示用戶輸入一個 加減乘除混合運算
- 返回計算結果
input_str = input("請輸入一個算術題:")
print(eval(input_str))
不要濫用eval
在開發時千萬不要使用
eval
直接轉換input
的結果
__import__('os').system('ls')
- 等價代碼
import os
os.system("終端命令")
- 執行成功,返回 0
- 執行失敗,返回錯誤信息