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