Python内建函数之raw_input()与input()代码解析


Posted in Python onOctober 26, 2017

这两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。举两个小例子。

>>> raw_input_A = raw_input("raw_input: ")
 raw_input: abc >>> input_A = input("Input: ")
 Input: abc
 Traceback(most recent call last):
   File "<pyshell#1>", line 1, in < module >
   input_A = input("Input: ")
 File "<string>", line 1, in < module >
   NameError: name 'abc'
 is not defined
   >>> input_A = input("Input: ")
 Input: "abc" >>>
>>> raw_input_B = raw_input("raw_input: ")
raw_input: 123 >>> type(raw_input_B) < type 'str' >
  >>> input_B = input("input: ")
input: 123 >>> type(input_B) < type 'int' >
  >>>

例子 1 可以看到:这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

例子 2 可以看到:raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float );同时在例子 1 知道,input() 可接受合法的 python 表达式,举例:input( 1 +3 ) 会返回 int 型的 4 。

查看 Built-in Functions ,得知:

input([prompt])
Equivalent to eval(raw_input(prompt))

input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。

不过在 Built-in Functions 里有一句话是这样写的:Consider using the raw_input() function for general input from users.

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

总结

以上就是本文关于Python内建函数之raw_input()与input()代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python面向对象编程基础解析(二)、Python探索之ModelForm代码详解、python中requests爬去网页内容出现乱码问题解决方法介绍等,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python算法应用实战之队列详解
Feb 04 Python
Python 自动化表单提交实例代码
Jun 08 Python
查看Django和flask版本的方法
May 14 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
基于python实现名片管理系统
Nov 30 Python
python七夕浪漫表白源码
Apr 05 Python
python3.5安装python3-tk详解
Apr 26 Python
pytorch自定义初始化权重的方法
Aug 17 Python
python实现数字炸弹游戏程序
Jul 17 Python
sqlalchemy实现时间列自动更新教程
Sep 02 Python
python 爬取华为应用市场评论
May 29 Python
python分布式环境下的限流器的示例
Oct 26 #Python
Python Nose框架编写测试用例方法
Oct 26 #Python
Python面向对象编程基础解析(二)
Oct 26 #Python
Python面向对象编程基础解析(一)
Oct 26 #Python
获取Django项目的全部url方法详解
Oct 26 #Python
Python探索之ModelForm代码详解
Oct 26 #Python
启动targetcli时遇到错误解决办法
Oct 26 #Python
You might like
基于mysql的论坛(1)
2006/10/09 PHP
ZF等常用php框架中存在的问题
2008/01/10 PHP
PHP的autoload机制的实现解析
2012/09/15 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
jQuery的context属性用法实例
2014/12/27 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
Python微信公众号开发平台
2018/01/25 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
python如何生成网页验证码
2018/07/28 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
心理健康活动总结
2014/04/30 职场文书
单位租车协议书
2015/01/29 职场文书
会计专业求职信范文
2015/03/19 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
学校运动会通讯稿
2015/07/18 职场文书
2016年寒假社会实践活动心得体会
2015/10/09 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
使用Django框架创建项目
2022/06/10 Python