溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中input()和raw_input()有哪些區(qū)別

發(fā)布時(shí)間:2020-10-30 09:39:52 來(lái)源:億速云 閱讀:157 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了Python中input()和raw_input()有哪些區(qū)別,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

兩者均是python的內(nèi)置函數(shù),通過(guò)讀取控制臺(tái)的輸入與用戶實(shí)現(xiàn)交互。

raw_input:將所有輸入作為字符串看待,不管用戶輸入什么類型的都會(huì)轉(zhuǎn)變成字符串。 

                  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'

當(dāng)希望通過(guò)raw_input獲取一個(gè)整型或者浮點(diǎn)數(shù)時(shí),必須在生成后對(duì)其使用int或float進(jìn)行轉(zhuǎn)換。

>>> x1=int(raw_input()) 34 >>> x1 34 >>> x2=float(raw_input()) 1.25 >>> x2 1.25

input():當(dāng)輸入一個(gè)字符串的時(shí)候必須使用引號(hào)將其括起來(lái),否則他將會(huì)引發(fā)一個(gè)SyntaxError的問(wèn)題。

>>> help(input) Help on built-in function input in module __builtin__: input(...)    input([prompt]) -> value        Equivalent to eval(raw_input(prompt)).

從上述說(shuō)明中,可以發(fā)現(xiàn)其實(shí)input()的實(shí)現(xiàn)是調(diào)用raw_input()函數(shù)的,然后再進(jìn)行了一次eval()。

實(shí)現(xiàn)如下:

def input(prompt):     return (eval(raw_input(prompt)))  #input()相當(dāng)于eval(raw_input())

eval()在python中的實(shí)現(xiàn)如下:

eval(str[,globals[,locals]])函數(shù)將字符串str當(dāng)成有效Python表達(dá)式來(lái)求值,并返回計(jì)算結(jié)果。

因此就不難發(fā)現(xiàn)為什么input()能夠檢測(cè)表達(dá)式了。

eval()函數(shù)十分強(qiáng)大,它和int(將一個(gè)字符串轉(zhuǎn)化成整數(shù))還是有很大區(qū)別,這里暫不詳述。

綜上所述:除非對(duì)input有特別需要,否則一般情況下我們都是推薦使用raw_input來(lái)與用戶交互。

補(bǔ)充:在Python 3.x之后已經(jīng)用input()替代raw_input了,用法功能卻跟Python2.x中的raw_input()一樣。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享Python中input()和raw_input()有哪些區(qū)別內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問(wèn)題就找億速云,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI