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引用模块和查找模块路径
Mar 17 Python
基于python 二维数组及画图的实例详解
Apr 03 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
PyQt4实现下拉菜单可供选择并打印出来
Apr 20 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
pytorch 修改预训练model实例
Jan 18 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
在django admin中配置搜索域是一个外键时的处理方法
May 20 Python
Django自定义YamlField实现过程解析
Nov 11 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
摩卡咖啡
2021/03/03 咖啡文化
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
对python的输出和输出格式详解
2018/12/08 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
Python进度条的制作代码实例
2019/08/31 Python
python实现简单俄罗斯方块
2020/03/13 Python
golang/python实现归并排序实例代码
2020/08/30 Python
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
旅游管理专业生自荐信范文
2014/01/02 职场文书
初婚初育证明
2014/01/14 职场文书
自荐信的基本格式
2014/02/22 职场文书
出国留学计划书
2014/04/27 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
火锅店的活动方案
2014/08/15 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
民事起诉书范本
2015/05/19 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers