Python2的input(), raw_input()和Python3的input()

如今來探討一下Python2中的input()、raw_input()函數和Pyhont3中的input()函數:python

    Python2中的raw_input()函數,咱們知道input()、raw_input()都是讓用戶輸入的函數:函數

    input()函數:優化

    首先,咱們先輸入數字:code

>>> a = input("Please input your favorite number: ")
Please input your favorite number: 5
>>> a
5

    從中能夠看出,當咱們輸入數字的時候,input()函數直接接受了5,並把這個用戶輸入的數字賦給了a,是以數字形式的。字符串

    接下來,咱們以字符形式輸入:input

>>> a = input("Please input your name: ")
Please input your name: virgin
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'virgin' is not defined

從結果能夠看出,提示咱們輸入的名字沒有定義,報錯了,說明不能以字符形式直接沒有引號的狀況下進行輸入;string

    咱們驗證當咱們以引號的方式輸入字符串的時候,這個時候沒有提示咱們錯誤,由此能夠看出,是沒有問題的it

>>> a = input("Please input your name: ")
Please input your name: "Virgin"
>>> a
'Virgin'

從中能夠看出,其實Python2.x中,input()函數讓咱們明確咱們輸入的是數字格式仍是字符格式,就是咱們本身要知道咱們想要的是什麼,數字格式直接輸入,字符格式必須加上單引號或者雙引號,以肯定咱們輸入的是字符串。ast

    raw_input()函數:class

>>> a = raw_input("Please input your name: ")
Please input your name: Virgin
>>> a
'Virgin'
>>> a = raw_input("Please input your favorite number: ")
Please input your favorite number: 10
>>> a
'10'

    第一次咱們輸入的是字符串,並且沒有加引號,正常把Virgin賦給了變量a;第二次輸入的是數字10,可是輸出的時候,a是字符格式的'10',這個時候系統將咱們輸入的數字默認爲了文本,因此能夠看出,raw_input()函數不管用戶輸入什麼,都默認爲字符格式;而input()函數在Python2.x中,是要用戶肯定本身輸入的是什麼,用戶要本身清楚明白本身操控的是什麼。

    Python3中的input()函數:

    咱們知道,在Python3中是沒有raw_input()函數的,只有input()函數,由於Python3是就好了優化整合:

    input()函數

>>> a = input("Please input your favoriete number: ")
Please input your favoriete number: 10
>>> a
'10'
>>> b = input("Please input your name: ")
Please input your name: Virgin
>>> b
'Virgin'

第一次咱們輸入的是數字,此時,input()是將數字10看成文本賦給了變量a,第二次,咱們把文本賦給了變量b,輸出結果仍是文本,這與Python2中的raw_input()是同樣的,因此,在Python3中是將Python2中的input()刪除了,把raw_input()的名稱改爲了input()函數,這樣在咱們使用數字的時候就須要本身來進行轉換了,因此咱們在讓用戶輸入數字的時候切記進行轉換,若是咱們要使用數字的。

相關文章
相關標籤/搜索