如何使用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实现方法
Nov 18 Python
在Python中实现贪婪排名算法的教程
Apr 17 Python
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
Django基础之Model操作步骤(介绍)
May 27 Python
python中reduce()函数的使用方法示例
Sep 29 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
Django 多语言教程的实现(i18n)
Jul 07 Python
Python3.5文件读与写操作经典实例详解
May 01 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
Python之Django自动实现html代码(下拉框,数据选择)
Mar 13 Python
scrapy处理python爬虫调度详解
Nov 23 Python
python自动化发送邮件实例讲解
Jan 04 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
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
关于jQuery UI 使用心得及技巧
2012/10/10 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
javascript的BOM
2016/05/03 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
JS实现添加,替换,删除节点元素的方法
2016/06/30 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
Python是怎样处理json模块的
2020/07/16 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
创业资金计划书
2014/02/06 职场文书
模特职业生涯规划范文
2014/02/26 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
Python 中 Shutil 模块详情
2021/11/11 Python