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实现队列的方法
May 26 Python
Django admin美化插件suit使用示例
Dec 12 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
python得到单词模式的示例
Oct 15 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
Pyqt5实现英文学习词典
Jun 24 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
python如何支持并发方法详解
Jul 25 Python
Vs Code中8个好用的python 扩展插件
Oct 12 Python
python输出国际象棋棋盘的实例分享
Nov 26 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 Python
利用Python将list列表写入文件并读取的方法汇总
Mar 25 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
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
Python中 Lambda表达式全面解析
2016/11/28 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
Python生成数字图片代码分享
2017/10/31 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
上海方立数码笔试题
2013/10/18 面试题
自我评价中英文语句
2013/11/30 职场文书
投资合作协议书
2014/04/17 职场文书
初中班主任评语大全
2014/04/24 职场文书
python Polars库的使用简介
2021/04/21 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python