1. В Python2.x существуют и raw_input( ), и input( ), а различия таковы:
- raw_input( )Он обрабатывает весь ввод как строки и возвращает строковый тип.
- input( )Он может принимать только «числовой» ввод. При обработке чисто числового ввода у него есть свои особенности: он возвращает тип введённого числа (int, float).
2. В Python3.xraw_input( )иinput( )они были объединены, иraw_input( )raw_inputinput( )был удалён. Функция принимает произвольный ввод, по умолчанию обрабатывает весь ввод как строки и возвращает строковый тип.
Например:
Python 2.3.4 (#1, Feb 2 2005, 11:44:13)
[GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> user=raw_input("please input:")
please input:wei # raw_input 输入 字符串 成功
>>> user
'wei'
>>> user=input("please input:")
please input:123 # input 输入 数字 成功(返回的是数字)
>>> user
123
>>> user=raw_input("please input:")
please input:111 # raw_input 输入 数字 成功(返回的还是当成字符串)
>>> user
'111'
>>> user=input("please input:")
please input:wei # input 输入字符串 失败
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<string>", line 0, in ?
NameError: name 'wei' is not defined
В Python 3.2.3 input и raw_input объединены, и raw_input отсутствует:
Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> user=raw_input("please input:") #没有了raw_input
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'raw_input' is not defined
>>> user=input("please input:")
please input:wei
>>> user
'wei'
>>> user=input("please input:") #input的输出结果都是作为字符串
please input:123
>>> user
'123'
Исходный адрес: https://blog.csdn.net/suibianshen2012/article/details/51378948