如何使用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如何获取列表(List)的中位数
Aug 12 Python
python通过opencv实现批量剪切图片
Nov 13 Python
Python3匿名函数lambda介绍与使用示例
May 18 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
Jun 04 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
Python适配器模式代码实现解析
Aug 02 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
Django REST Swagger实现指定api参数
Jul 07 Python
Python实现文件压缩和解压的示例代码
Aug 12 Python
python利用opencv保存、播放视频
Nov 02 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
python井字棋游戏实现人机对战
Apr 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
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
php跨站攻击实例分析
2014/10/28 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
js中document.write的那点事
2014/12/12 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
如何基于python实现不邻接植花
2020/05/01 Python
关于运动会广播稿200字
2014/10/08 职场文书
2014年仓库工作总结
2014/11/20 职场文书
体育教师个人工作总结
2015/02/09 职场文书
库房管理员岗位职责
2015/02/12 职场文书
爱国主义主题班会
2015/08/14 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫
Python字符串常规操作小结
2022/04/03 Python