input

Python2中的input()、raw_input()函數:html

input()函數讓咱們明確輸入的是數字格式仍是字符格式,就是咱們本身要知道咱們想要的是什麼:數字格式直接輸入;字符格式必須加上單引號或者雙引號,以肯定咱們輸入的是字符串,不然它會引起一個 SyntaxError 。
raw_input()函數不管用戶輸入什麼,都默認爲字符格式。
除非對 input() 有特別須要,不然通常狀況下咱們都是推薦使用 raw_input() 來與用戶交互。
 
當輸入爲純數字時:
input返回的是數值類型,如int,float
raw_inpout返回的是字符串類型,string類型
 
當輸入爲 字符串表達式時:
input會計算在字符串中的數字表達式,而raw_input不會。此時用 input貌似更有優點。
如輸入「57 + 3」:
input會獲得整數60
raw_input會獲得字符串」57 + 3」
示例:
input()
Enter your input: [x*5 for x in range(2,10,2)]
Received input is :  [10, 20, 30, 40]
 
raw_input()
Enter your input: [x*5 for x in range(2,10,2)]
Received input is : [x*5 for x in range(2,10,2)]
 
 
看python input的文檔,能夠看到input實際上是經過raw_input來實現的,原理很簡單,就下面一行代碼:
def input(prompt):
    return (eval_r(raw_input(prompt)))
eval能夠暫時理解爲去掉引號的做用。
 
 
Python3中的input()函數:
在Python3中是沒有raw_input()函數的,只有input()函數,由於Python3進行了優化整合:在Python3中是將Python2中的input()刪除了,把raw_input()的名稱改爲了input()函數。 因此 python3 裏 input() 函數接收任意輸入,將全部輸入默認爲字符串處理,並返回字符串類型。
這樣在咱們使用數字的時候就須要本身來進行轉換了,因此咱們在讓用戶輸入數字的時候必定切忌要進行 類型轉換,若是咱們要使用數字的話。a=int(input("Enter your input: "))  查看type(a)是否等於int。
 
相關文章
相關標籤/搜索