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