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