您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python中input()和raw_input()有哪些區別,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
兩者均是python的內置函數,通過讀取控制臺的輸入與用戶實現交互。
raw_input:將所有輸入作為字符串看待,不管用戶輸入什么類型的都會轉變成字符串。
raw的含義就是: 生的;未加工的。
>>> s1=raw_input() abc >>> s1 'abc' >>> s2=raw_input() 'abc' >>> s2 "'abc'" >>> s3=raw_input() 100 >>> s3 '100' >>> s4=raw_input() 1+2 >>> s4 '1+2'
當希望通過raw_input獲取一個整型或者浮點數時,必須在生成后對其使用int或float進行轉換。
>>> x1=int(raw_input()) 34 >>> x1 34 >>> x2=float(raw_input()) 1.25 >>> x2 1.25
input():當輸入一個字符串的時候必須使用引號將其括起來,否則他將會引發一個SyntaxError的問題。
>>> help(input) Help on built-in function input in module __builtin__: input(...) input([prompt]) -> value Equivalent to eval(raw_input(prompt)).
從上述說明中,可以發現其實input()的實現是調用raw_input()函數的,然后再進行了一次eval()。
實現如下:
def input(prompt): return (eval(raw_input(prompt))) #input()相當于eval(raw_input())
eval()在python中的實現如下:
eval(str[,globals[,locals]])函數將字符串str當成有效Python表達式來求值,并返回計算結果。
因此就不難發現為什么input()能夠檢測表達式了。
eval()函數十分強大,它和int(將一個字符串轉化成整數)還是有很大區別,這里暫不詳述。
綜上所述:除非對input有特別需要,否則一般情況下我們都是推薦使用raw_input來與用戶交互。
補充:在Python 3.x之后已經用input()替代raw_input了,用法功能卻跟Python2.x中的raw_input()一樣。
感謝你能夠認真閱讀完這篇文章,希望小編分享Python中input()和raw_input()有哪些區別內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。