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读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
Python中logging模块的用法实例
Sep 29 Python
python中的格式化输出用法总结
Jul 28 Python
Python使用openpyxl读写excel文件的方法
Jun 30 Python
python3.4控制用户输入与输出的方法
Oct 17 Python
python:动态路由的Flask程序代码
Nov 22 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
selenium+headless chrome爬虫的实现示例
Jan 08 Python
Python time库的时间时钟处理
May 02 Python
Python还能这么玩之用Python修改了班花的开机密码
Jun 04 Python
python数字图像处理:图像的绘制
Jun 28 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类
2006/11/25 PHP
php include加载文件两种方式效率比较
2010/08/08 PHP
php创建session的方法实例详解
2015/01/27 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
python构建基础的爬虫教学
2018/12/23 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
python用match()函数爬数据方法详解
2019/07/23 Python
python opencv实现证件照换底功能
2019/08/19 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
详细分析Python collections工具库
2020/07/16 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
销售高级职员求职信
2013/10/29 职场文书
离职保密承诺书
2014/05/28 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
社区植树节活动总结
2015/02/06 职场文书
世界遗产的导游词
2015/02/13 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
结婚典礼致辞
2015/07/28 职场文书
2019暑假学生安全口号
2019/06/27 职场文书