2014-03-30 34 views

回答

1

operator模塊包含實現內置運算符的函數。您可以創建一個字典,將操作員的特定符號映射到相應的函數,然後將其用作查找表來評估您的表達式。

import operator 
>>> op_dict = { '+': operator.add, '-': operator.sub } 
>>> a = 2 
>>> b = '+' 
>>> c = 3 
>>> op_dict[b](a, c) 
5 
1

您不能將+分配給變量。你可以做的是保存它的「字符串表示」:

a = 2 
b = '+' 
c = 3 

評價您可以使用操作eval()

>>> print eval(str(a) + b + str(c)) 
5 

這將評估作爲字符串傳遞表達(這就是爲什麼我們使用第一str(a),讓整個字符串)

注:

  • 如果有另一種方法可以預防您使用eval,請使用它。
  • 使用eval時必須非常小心,因爲您可能會得到意想不到的結果。
  • 還有另外一個叫做exec()的函數用來執行語句。