如何使用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 面向对象 成员的访问约束
Dec 23 Python
使用Python编写vim插件的简单示例
Apr 17 Python
Python使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 Python
pymongo中group by的操作方法教程
Mar 22 Python
元组列表字典(莫烦python基础)
Apr 03 Python
python实现nao机器人手臂动作控制
Apr 29 Python
详解PyTorch手写数字识别(MNIST数据集)
Aug 16 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
Python数据可视化常用4大绘图库原理详解
Oct 23 Python
Python的这些库,你知道多少?
Jun 09 Python
python字符串的一些常见实用操作
Apr 06 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
php模板函数 正则实现代码
2012/10/15 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
利用Python实现网络测试的脚本分享
2017/05/26 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
Python如何生成xml文件
2020/06/04 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
团代会宣传工作方案
2014/05/08 职场文书
国情备忘录观后感
2015/06/04 职场文书
太行山上观后感
2015/06/05 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby