话说raw_input与input的区别
a=raw_input("有关输入的描述"):用来获取控制台的输入,并返回(有关输入的描述),将所有输入作为字符串看待,返回的是字符串类型
input("输入文字") :用来获取控制台的输入,它希望能够读取一个合法的 python表达式,即一个符合python语法的表达式,例如当你输入字符串的时候必须使用引号将它括起来,否则它会引发一个SyntaxError
raw_input与input的区别 :
1.共同点:使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的
2.不同点:raw_input会将所有输入的数据作为字符串看待,返回值为字符串类型;input输入时必须是一个合法的python表达式,格式与python中代码一样 其返回值与输入的数据类型相同
3.联系:raw_input与input的关系。
以下是input方法的内容:
input([prompt]):
Equivalent to eval(raw_input(prompt))
注意:参看input方法可知input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。eval() 函数的功能,将字符串str当成有效的表达式来求值并返回计算结果。
另:
除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
Python3中input得到的为str;Python2的input的到的为int型,Python2的raw_input得到的为str类型
建议使用python3环境 2过两年要被淘汰了