input和raw_input的区别

input()与raw_input()的区别只存在Python2.X环境下。
在Python3中将Python2中的input()删除了,同时将raw_input()改名为input()。
如果使用Py3,在使用input()时所输入的数据最后都会输出成字符串格式。所以进行数字格式输入时要利用int()做好格式转换。

  1. >>> StringC = input("直接input的值是String类型:") #直接输入
  2. 直接input的值是String类型:33
  3. >>> print ("值为:",StringC,"\r\n类型为:",type(StringC))
  4. 值为: 33
  5. 类型为: <class 'str'>
  6. >>> IntC = int(input("将输入的字符串转为int型:")) #将输入的字符串转为int型
  7. 将输入的字符串转为int型:33
  8. >>> print ("值为:",IntC,"\r\n类型为:",type(IntC))
  9. 值为: 33
  10. 类型为: <class 'int'>

当输入为纯数字时 input返回的是数值类型,如int,float; raw_inpout返回的是字符串类型,string类型。

输入字符串为表达式

使用eval(input(“将输入的字符串转为int型:”)):

  1. >>> StringC = input("直接input的值是String类型:") #直接输入
  2. 直接input的值是String类型:30+3
  3. >>> print ("值为:",StringC,"\r\n类型为:",type(StringC))
  4. 值为: 30+3
  5. 类型为: <class 'str'>
  6. >>> IntEval = eval(input("将输入的字符串转为int型:")) #将输入的字符串转为int型
  7. 将输入的字符串转为int型:3*11
  8. >>> print ("值为:",IntEval,"\r\n类型为:",type(IntEval))
  9. 值为: 33
  10. 类型为: <class 'int'>