python中eval 函數

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("請輸入一個算術題:")
# 100 + 200 

print(eval(input_str))

不要濫用 eval

在開發時千萬不要使用 eval 直接轉換 input 的結果

__import__('os') 與 import os 作用相同

__import__('os').system('ls')
  • 等價代碼
import os

os.system("終端命令")
  • 執行成功,返回 0
  • 執行失敗,返回錯誤信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章