1. 程式人生 > >Python2.7中input和raw_input函式有什麼區別

Python2.7中input和raw_input函式有什麼區別

1、input函式:

        input函式會假設要求使用者輸入的是合法的Python表示式,什麼是合法的Python表示式呢?像37、3*4、‘name’都是合法的,分別代表整數37、數學表示式3乘4、字串name,而像x=3、name是不合法的。

        比如要求輸入人的年齡的時候,就可以用input函式;但是要求一個人輸入名字的時候要加上雙引號,顯然是不合理的。

2、raw_input函式:

        raw_input函式把所有輸入都當做原始資料,放入到字串中,可以輸入任何字元(當然包括上面所說的x=3、name)。

        顯然要求一個人輸入名字時,用raw_input函式更合理;但是當要求是輸入人的年齡時,使用raw_input函式需要做額外的字串轉整數操作。

建議:對input無特殊要求時,建議儘量使用raw_input函式。

附:

Python測試程式碼

raw_input1 = raw_input("num1:")
print type(raw_input1)   //輸入22,輸出<type 'str'>
input1 = input('num2:')
print type(input1)       //輸入22,輸出<type 'int'>
raw_input2 = raw_input("str2:")
print raw_input2         //輸入name,輸出name
input2 = input('str2:')
print type(input2)       //輸入name,執行報錯:NameError: name 'name' is not defined