python中的eval函數


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

案例 - 計算器

需求:

  1. 提示用戶輸入一個 加減乘除混合運算
  2. 返回計算結果
input_str = input("請輸入一個算術題:")
print(eval(input_str))

不要濫用eval

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

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

os.system("終端命令")
  • 執行成功,返回 0
  • 執行失敗,返回錯誤信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM