標籤:
轉自:http://blog.csdn.net/sruru/article/details/7790436
以前沒有深入考慮過raw_input與input函數的區別,所以一直比較困惑,今天測試之後,有了較為深入瞭解,記錄如下
>>> user = raw_input("Enter your name:")Enter your name:scr>>> user‘scr‘>>> user = raw_input("Enter your name:")Enter your name:123>>> user‘123‘>>> user = input("Enter your name,please!")Enter your name,please!4>>> user4>>> user = input("Enter your name,please!")Enter your name,please!"scr">>> user‘scr‘>>> user = input("Enter your name,please!")Enter your name,please!scrTraceback (most recent call last):File "<pyshell#67>", line 1, in <module>user = input("Enter your name,please!")File "<string>", line 1, in <module>NameError: name ‘scr‘ is not defined>>>
總結:
raw_input更符合使用者輸入的習慣,把任何使用者輸入都轉換成字串儲存,在需要其它類型的資料時,調用相應的函數進行轉換;
input使用者輸入什麼就儲存什麼,所以使用者輸入必須符合python文法要求,否則會出錯,例如
>>> user = input("Enter your name,please!")Enter your name,please!scrTraceback (most recent call last):File "<pyshell#67>", line 1, in <module>user = input("Enter your name,please!")File "<string>", line 1, in <module>NameError: name ‘scr‘ is not defined>>>
python input 與raw_input函數的區別