例子1:py2.7中,raw_input输入整数,返回的是str。
1 input1=raw_input("raw_input:") 2 print(type(input1)) 3 print(input1) 4 结果如下: 5 raw_input:23 6 <type 'str'> 7 23
仍然是例子1,输入字符串,返回还是str。
1 结果 2 raw_input:ss 3 <type 'str'> 4 ss
仍然是例子1,输入表达式,返回还是str,输入的表达式不换算,这货就是这么倔强。
1 结果raw_input:1+1 2 <type 'str'> 3 1+1
例子2:py2.7中,input输入整数,返回的是int,说明支持输入数字。
1 input1=input("input:") 2 print(type(input1)) 3 print(input1) 4 结果 5 raw_input:23 6 <type 'int'> 7 23
仍然是例子2,输入ss,返回报错,说明不支持。
1 结果 2 File "D:/kevin/Administrator/PycharmProjects/s12/test.py", line 31, in <module> 3 input1=input("input:") 4 File "<string>", line 1, in <module> 5 NameError: name 'ss' is not defined
仍然是例子2,输入ss,返回str,说明输入字符要加引号。
1 结果 2 input:"ss" 3 <type 'str'> 4 ss
仍然是例子2,输入1+1,返回int 2,而且输入的表达式会自动换算。
1 结果 2 input:1+1 3 <type 'int'> 4 2
查看 Built-in Functions ,得知:
input([prompt])
Equivalent to eval(raw_input(prompt))
input用完 raw_input() 之后再调用 eval() 函数,eval函数将字符串当成有效Python表达式来求值,并返回计算结果
总结:raw_input可以输入任何字符串,表达式不换算;
input要输入有效表达式。
end,回家洗洗睡吧。。