Python3.x 中 input() 函數接受一個标準輸入資料,傳回為 string 類型。
Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用來擷取控制台的輸入。
raw_input() 将所有輸入作為字元串看待,傳回字元串類型。而 input() 在對待純數字輸入時具有自己的特性,它傳回所輸入的數字的類型( int, float )。
注意:input() 和 raw_input() 這兩個函數均能接收 字元串 ,但 raw_input() 直接讀取控制台的輸入(任何類型的輸入它都可以接收)。而對于 input() ,它希望能夠讀取一個合法的 python 表達式,即你輸入字元串的時候必須使用引号将它括起來,否則它會引發一個 SyntaxError 。
函數文法
input([prompt])
- prompt: 提示資訊
執行個體
Python2.x: input() 需要輸入 python 表達式
>>>a = input("input:") input:123 # 輸入整數 >>> type(a) <type 'int'> # 整型 >>> a = input("input:") input:"runoob" # 正确,字元串表達式 >>> type(a) <type 'str'> # 字元串 >>> a = input("input:") input:runoob # 報錯,不是表達式 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'runoob' is not defined <type 'str'>
Python2.x: raw_input() 将所有輸入作為字元串看待
>>>a = raw_input("input:") input:123 >>> type(a) <type 'str'> # 字元串 >>> a = raw_input("input:") input:runoob >>> type(a) <type 'str'> # 字元串 >>>