轉(zhuǎn)載自linux社區(qū),作者:doiido
函數(shù):raw_input()和input()
注意:在python3.x中,已經(jīng)刪除raw_input(),取而代之的是input(),當(dāng)然這僅僅是重命名,用法還是一樣。因此在這里介紹
的是python2.x中的raw_input()和input(),在python3.x中只要按raw_input()的使用方式就行
1:作用:讀取控制臺(tái)的輸入與用戶實(shí)現(xiàn)交互
2:語(yǔ)法
raw_input([prompt])
input([prompt])
3:參數(shù)
prompt:如果存在此參數(shù),則會(huì)直接輸出到屏幕上,不會(huì)再往下另起一行
4:兩者關(guān)系:
input()本質(zhì)上是使用raw_input()來實(shí)現(xiàn)的,即調(diào)用完raw_input()之后再調(diào)用eval_r()函數(shù),調(diào)用如下:
def input(prompt):
return(eval_r(raw_input(prompt)))
5:兩者相同點(diǎn):
都能接受字符串、數(shù)字以及表達(dá)式作為輸入。
6:兩者差別:
6.1、當(dāng)輸入為字符串時(shí):
raw_input(): 讀取控制臺(tái)的輸入,同時(shí)返回字符串類型
input():讀取控制臺(tái)的輸入,但輸入時(shí)必須使用引號(hào)括起來,否則會(huì)報(bào)錯(cuò)
6.2、當(dāng)輸入為純數(shù)字時(shí):
raw_input(): 讀取控制臺(tái)的輸入,同時(shí)返回字符串類型,當(dāng)作字符串處理
input():讀取控制臺(tái)的輸入,返回輸入的數(shù)值類型(int, float)
6.3、當(dāng)輸入為字符串表達(dá)式時(shí):
raw_input(): 讀取控制臺(tái)的輸入,但不會(huì)對(duì)輸入的數(shù)字進(jìn)行運(yùn)算,直接返回字符串類型,當(dāng)作字符串處理
input():讀取控制臺(tái)的輸入,對(duì)合法的 python數(shù)字表達(dá)式進(jìn)行運(yùn)算,返回運(yùn)算后的結(jié)果
6.4、輸入的為特殊字符時(shí)
比如'\t','\n'等
raw_input(): 讀取控制臺(tái)的輸入,返回字符串類型,和輸入一樣
input():讀取控制臺(tái)的輸入,但輸入時(shí)必須使用引號(hào)括起來,返回特殊符號(hào)所代表的內(nèi)容
注:無特殊要求建議使用 raw_input() 來與用戶交互
7:實(shí)例:
7.1、輸入為字符串的時(shí):
>>> a1 = raw_input("raw_input_str: ")
raw_input_str: hello
>>> print a1,type(a1)
hello
>>> a2 = input("input_str: ")
input_str: hello
Traceback (most recent call last):
File "", line 1, in
a2 = input("input: ")
File "", line 1, in
NameError: name 'hello' is not defined
>>> a2 = input("input_str: ")
input_str: 'hello'
>>> print a2,type(a2)
hello
7.3、輸入為字符串表達(dá)式時(shí):
>>> c1 = raw_input("raw_input_exp: ")
raw_input_exp: 3 + 3
>>> print c1,type(c1)
3 + 3
>>> c2 = input("input_exp: ")
input_exp: 3 + 3
>>> print c2,type(c2)
6
7.4、輸入的為特殊字符時(shí):
>>> d1 = raw_input("raw_input_sp: ")
raw_input_sp: \t
>>> print d1,type(d1)
\t
>>> d2 = input("input_sp: ")
input_sp: \t
Traceback (most recent call last):
File "", line 1, in
d2 = input("input_sp:")
File "", line 1
\t
^
SyntaxError: unexpected character after line continuationcharacter
>>> d2 = input("input_sp: ")
input_sp: '\t'
>>> print d2,type(d2)