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回调函数的使用方法
Jan 23 Python
跟老齐学Python之使用Python查询更新数据库
Nov 25 Python
简单介绍使用Python解析并修改XML文档的方法
Oct 15 Python
Python多线程经典问题之乘客做公交车算法实例
Mar 22 Python
Python探索之Metaclass初步了解
Oct 28 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
使用Python做定时任务及时了解互联网动态
May 15 Python
python 解决print数组/矩阵无法完整输出的问题
Feb 19 Python
Python尾递归优化实现代码及原理详解
Oct 09 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 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
9个经典的PHP代码片段分享
2014/12/18 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
js继承的实现代码
2010/08/05 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
jquery实现图片跟随鼠标的实例
2017/10/17 jQuery
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
python实现调用其他python脚本的方法
2014/10/05 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
python 进程的几种创建方式详解
2019/08/29 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
跨域修改iframe页面内容详解
2019/10/31 HTML / CSS
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
趣味活动策划方案
2014/02/08 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸