Python可自動求表達式值內置函數eval( )

C++中要是求一個表達式的值,是要寫很麻煩的,比如(1+2+3)*8,需要先計算括號,所以要把括號先撇出來,單獨算再計算後面,真正開發肯定不能這麼做,太浪費時間,需要一個內置函數,C++不知道有沒有,Python反正有一個——eval()

eval函數參數是一個字符串,字符串是一個表達式,你可以自己想一個

實例:

>>> eval(1+2+3*8)
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    eval(1+2+3*8)
TypeError: eval() arg 1 must be a string, bytes or code object
>>> s = '1+2+3*8'  #1
>>> eval(s)
27
>>> s = '(1+2+3)*8'  #2
>>> eval(s)
48
>>> 

第一個eval中的參數不是字符串,報錯TypeError

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章