如何使用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将人民币转换大写的脚本代码
Feb 10 Python
python将字符串转换成数组的方法
Apr 29 Python
python直接访问私有属性的简单方法
Jul 25 Python
Python应用03 使用PyQT制作视频播放器实例
Dec 07 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
Nov 20 Python
Python基于贪心算法解决背包问题示例
Nov 27 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
Jul 22 Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
tensorflow模型转ncnn的操作方式
May 25 Python
python中yield的用法详解
Jan 13 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实现WEB动态网页静态
2006/10/09 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
javascript定义函数的方法
2010/12/06 Javascript
关于html+ashx开发中几个问题的解决方法
2011/07/18 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
九步学会Python装饰器
2015/05/09 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
全面解析Python的While循环语句的使用方法
2015/10/13 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
python中的global关键字的使用方法
2019/08/20 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
最新自我评价范文
2013/11/16 职场文书
成功的餐厅经营创业计划书
2014/01/15 职场文书
2015教师年度考核评语
2015/03/25 职场文书
六年级情感作文之500字
2019/10/23 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript