如何把數(shù)字按照給定的運算符計算出結(jié)果?
python eval方法可以實現(xiàn)上述需求,具體使用介紹如下。
eval()方法介紹功能:將字符串str當成有效的表達式來求值并返回計算結(jié)果。
語法: eval(source[, globals[, locals]])
參數(shù):
source:必填,一個Python表達式的字符串或者compile()返回的代碼對象
globals:非必填,必須是dictionary
locals:非必填,任何映射對象,默認與globals參數(shù)一致
代碼實現(xiàn)
如果globals,locals參數(shù)都不指定,表達式將在eval調(diào)用的環(huán)境中執(zhí)行,即默認為globals()和locals()函數(shù)中包含的模塊和函數(shù),這就使得eval方法存在一定的安全風(fēng)險。
所以出于安全考慮,對字符串進行類型轉(zhuǎn)換的時候,最好使用函數(shù),而該模塊下的函數(shù),則會判斷需要計算的內(nèi)容計算后是不是合法的python類型,如果是則進行運算,否則就不進行運算。
若對你有所幫助,歡迎大家評論、留言,歡迎關(guān)注。