如何使用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实现在sqlite动态创建表的方法
May 08 Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
深入理解python中的闭包和装饰器
Jun 12 Python
Linux下安装python3.6和第三方库的教程详解
Nov 09 Python
python实现控制台打印的方法
Jan 12 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
Django3.0 异步通信初体验(小结)
Dec 04 Python
keras 读取多标签图像数据方式
Jun 12 Python
Python绘图之二维图与三维图详解
Aug 04 Python
python 使用建议与技巧分享(四)
Aug 18 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 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
php实现每日签到功能
2018/11/29 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
js转html实体的方法
2016/09/27 Javascript
原生JS轮播图插件
2017/02/09 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
vue.js的安装方法
2017/05/12 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
Python装饰器原理与用法分析
2018/04/30 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
python logging日志模块原理及操作解析
2019/10/12 Python
Python中bisect的使用方法
2019/12/31 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
节约能源标语
2014/06/17 职场文书
雷人标语集锦
2014/06/19 职场文书
五五普法心得体会
2014/09/04 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
就业协议书范本
2014/10/08 职场文书
实习生矿工检讨书
2014/10/13 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python