如何使用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 定时任务去检测服务器端口是否通的实例
Jan 26 Python
Python正则表达式和re库知识点总结
Feb 11 Python
Python基础知识点 初识Python.md
May 14 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
flask的orm框架SQLAlchemy查询实现解析
Dec 12 Python
通过实例学习Python Excel操作
Jan 06 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
解决python执行较大excel文件openpyxl慢问题
May 15 Python
Django怎么在admin后台注册数据库表
Nov 14 Python
python生成word合同的实例方法
Jan 12 Python
详解Pymongo常用查询方法总结
Jan 29 Python
Python中Cookies导出某站用户数据的方法
May 17 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注入实例
2006/10/09 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
让你的CSS像Jquery一样做筛选的实现方法
2011/07/10 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
es6数值的扩展方法
2019/03/11 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
Python中os.path用法分析
2015/01/15 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
python的sys.path模块路径添加方式
2020/03/09 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
医学院学生的自我评价分享
2013/11/19 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
社团活动总结范文
2014/04/26 职场文书
创业培训计划书
2014/05/03 职场文书
暑假学习心得体会
2014/09/02 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
Python入门之基础语法详解
2021/05/11 Python
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
instantclient客户端 连接oracle数据库
2022/04/26 Oracle