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