python2中的input(),raw_input()和python3的input()

首先我們先討論一下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()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容