如何使用repr调试python程序


Posted in Python onFebruary 28, 2020

一般调试程序的时候都比较倾向print,利用直接打印的方法作出判断,但是print只能打印出结果,对类型无法作出判断。例如:

复制代码
a = 5
b = '5'
print(a)
print(b)

结果为:
5
5
复制代码
对于a和b从表面看是一样的,可能就会默认为a == b

实则a为int类型,b为string类型

再用repr看看结果:

复制代码
a = 5
b = '5'
print(repr(a))
print(repr(b))

结果为:
5
'5'
复制代码
对于动态的python对象来说,利用repr也是很方便的:

复制代码
class OpenClass(object):
def __init__(self, x, y):
self.x = x
self.y = y

obj = OpenClass(2,3)
print(obj)
# 结果为:<__main__.OpenClass object at 0x101cb7390>
复制代码
用repr重建对象:

复制代码
class OpenClass(object):
def __init__(self, x, y):
self.x = x
self.y = y

def __repr__(self):
return 'OpenClass(%d,%d)'%(self.x, self.y)
obj = OpenClass(2,3)
print(obj)
# 结果为:OpenClass(2,3)
复制代码
对于print只能打印出易于阅读的信息,而类型则显示不出来

repr则显示出类型,简明的展示出数据信息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python读写Redis数据库操作示例
Mar 18 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
Aug 18 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
Python列表推导式与生成器用法分析
Aug 02 Python
深入了解Python iter() 方法的用法
Jul 11 Python
python中的global关键字的使用方法
Aug 20 Python
Python列表的切片实例讲解
Aug 20 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
Python unittest基本使用方法代码实例
Jun 29 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
Feb 28 #Python
python对文件的操作方法汇总
Feb 28 #Python
最新2019Pycharm安装教程 亲测
Feb 28 #Python
Python发送手机动态验证码代码实例
Feb 28 #Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 #Python
Python3使用xlrd、xlwt处理Excel方法数据
Feb 28 #Python
Python进程Multiprocessing模块原理解析
Feb 28 #Python
You might like
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php学习之function的用法
2012/07/14 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
总结对比php中的多种序列化
2016/08/28 PHP
javascript new fun的执行过程
2010/08/05 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
Node.js模块加载详解
2014/08/16 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
Python 中Pickle库的使用详解
2018/02/24 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
python消除序列的重复值并保持顺序不变的实例
2018/11/08 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
Python 转换文本编码实现解析
2019/08/27 Python
python argparser的具体使用
2019/11/10 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
汇智创新科技发展有限公司
2015/12/06 面试题
党的群众路线学习材料
2014/05/16 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
雷锋的故事观后感
2015/06/10 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
Python如何用re模块实现简易tokenizer
2022/05/02 Python
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers