Python基礎 | eval(input())用法


看到一段代碼,判讀輸入的數字,用的是eval(input()),查了一下,原來input()會把所有輸入值,包括數字,視為字符串,而eval()會去掉字符串最外層的引號,然后當做Python語句執行[mark:語句or表達式,應該是表達式!],直觀理解是:看起來像數字的字符串變成數字了

>>> a = input()
123
>>> type(a)
<class 'str'>
>>> b = eval(input())
456
>>> type(b)
<class 'int'>
>>>

  一個反例

>>> a = eval("'pybook'")
>>> a
'pybook'

 

所以本質上,eval是去一層引號,然后按語句執行,eval(input())本質是一個取輸入數字的技巧

如果不用eval,怎么取輸入的數字?

可以用int, float轉數據類型,但效果不如eval


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM