如何使用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 strip()函数 介绍
May 24 Python
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
关于反爬虫的一些简单总结
Dec 13 Python
python实现word 2007文档转换为pdf文件
Mar 15 Python
Python过滤txt文件内重复内容的方法
Oct 21 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
Python中生成一个指定长度的随机字符串实现示例
Nov 06 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
如何理解Python中包的引入
May 29 Python
Python3基于plotly模块保存图片表格
Aug 03 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 Python
python-for x in range的用法(注意要点、细节)
May 10 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
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
javascript动态加载三
2012/08/22 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
2016/10/05 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
2016/12/23 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
pandas 空数据处理方法详解
2019/11/02 Python
详解Django中异步任务之django-celery
2020/11/05 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
一套Delphi的笔试题一
2016/02/14 面试题
酒店前厅员工辞职信
2014/01/08 职场文书
临床护理求职信
2014/04/26 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
golang import自定义包方式
2021/04/29 Golang
python基础学习之生成器与文件系统知识总结
2021/05/25 Python
利用Python判断你的密码难度等级
2021/06/02 Python