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计算最大优先级队列实例
Dec 18 Python
简洁的十分钟Python入门教程
Apr 03 Python
Python实现SVN的目录周期性备份实例
Jul 17 Python
使用python检测主机存活端口及检查存活主机
Oct 12 Python
python3制作捧腹网段子页爬虫
Feb 12 Python
浅谈python中的实例方法、类方法和静态方法
Feb 17 Python
浅谈django orm 优化
Aug 18 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
基于python的列表list和集合set操作
Nov 24 Python
简单介绍django提供的加密算法
Dec 18 Python
信号生成及DFT的python实现方式
Feb 25 Python
pycharm中leetcode插件使用图文详解
Dec 07 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
模仿jQuery each函数的链式调用
2009/07/22 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
详解Python的单元测试
2015/04/28 Python
python实现图像识别功能
2018/01/29 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
Python气泡提示与标签的实现
2020/04/01 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
Python urllib3软件包的使用说明
2020/11/18 Python
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
初婚未育证明
2014/01/15 职场文书
财务总经理岗位职责
2014/02/16 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
归元寺导游词
2015/02/06 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python