1. 程式人生 > >Python_從零開始學習_(46) eval 函式

Python_從零開始學習_(46) eval 函式

eval() 函式十分強大 ---- 將字串 當成 有效的表示式 來求職 並 返回計算結果

# 基本的數學計算
print(eval("1 + 1"))  # 2

# 字串重複
print(eval("'*' * 5"))  # *****

# 將字串轉換成列表
print(eval("[1, 2, 3, 4]"))  # [1, 2, 3, 4]

# 等等...

案例 -- 計數器

需求

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

print(eval(input_str))

不要濫用 eval


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

__import__('os').system('ls')

等價於

import os

os.system("終端命令")

意思是可以通過輸入的內容, 對伺服器檔案增刪查改, 操作本地的檔案,  很危險