首先我們先討論一下python2中的input()函數和raw_input()函數:
- . python2中的input():
- 首先,輸入數字:
\>>> number = input("Please enter a number: ")
Please input a number: 18
\>>> a
18
- 然后我們**輸入字符**:
\>>> name = (" Please enter your name: ")
Please enter your name: wwww
Traceback (most recent call last):
File "<pyshell#91>", line 1, in <module>
name = input("Please enter your name: ")
File "<string>", line 1, in <module>
**NameError: name 'wwww' is not defined**
這里報錯說,我們輸入的名字沒有定義,說明**沒有以字符形式輸入的直接當成變量處理**了,而**要 輸入一個名字時我們要在名字兩邊加引號**。
\>>> name = (" Please enter your name: ")
Please enter your name: 'ningjing'
\>>> name
'ningjing'
然后我們再驗證一下輸入的名字沒有加引號的時候是否真的當成變量處理
\>>> www ='ningjing'
\>>> name = input("Please enter your name: ")
Please enter your name: www
\>>> name
'ningjing'
驗證結果正確
- .raw_input()也用同樣的方式驗證:
\>>> number = raw_input("Please enter a number: ")
Please enter a number: 666
\>>> number
'666'
\>>> name = raw_input("Please enter your name: ")
Please enter your name: ningjing
\>>> name
'ningjing'
這里不難看出raw_input不管你輸入的是數字還是字符,系統(tǒng)都默認為字符格式。而input 要求用戶需要知道要輸入的是什么類型。
然后我們來討論一下python3的input()函數:
\>>> number = raw_input("Please enter a number: ")
Please enter a number: 666
\>>> number
'666'
\>>> name = raw_input("Please enter your name: ")
Please enter your name: ningjing
\>>> name
'ningjing'
功能跟python2的raw_input()函數功能一樣,python3進行優(yōu)化,把python2的input()刪除,將raw_input()改名為input()