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读取json文件并将数据插入到mongodb的方法
Mar 23 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
使用python实现生成用户信息
Mar 20 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
python使用matplotlib绘制热图
Nov 07 Python
Python 绘制酷炫的三维图步骤详解
Jul 12 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
TensorFlow实现批量归一化操作的示例
Apr 22 Python
解决keras加入lambda层时shape的问题
Jun 11 Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 Python
matplotlib bar()实现百分比堆积柱状图
Feb 24 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
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
基于JQuery制作的产品广告效果
2010/12/08 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
在VUE中使用lodash的debounce和throttle操作
2020/11/09 Javascript
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
python中 logging的使用详解
2017/10/25 Python
Python标准库shutil用法实例详解
2018/08/13 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
Hotels.com南非:酒店预订
2017/11/02 全球购物
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
鸡毛信观后感
2015/06/11 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
学校远程教育工作总结
2015/08/11 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
企业愿景口号
2015/12/25 职场文书
PHP解决高并发问题
2021/04/01 PHP
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB