如何使用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之关于循环的小伎俩
Oct 02 Python
Python 正则表达式(转义问题)
Dec 15 Python
Python描述器descriptor详解
Feb 03 Python
python正则实现计算器功能
Dec 14 Python
Python使用numpy实现BP神经网络
Mar 10 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
python pandas写入excel文件的方法示例
Jun 25 Python
python通过TimedRotatingFileHandler按时间切割日志
Jul 17 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
如何用Python和JS实现的Web SSH工具
Feb 23 Python
Python time库的时间时钟处理
May 02 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 checkbox 取值详细说明
2010/08/19 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
yii的CURD操作实例详解
2014/12/04 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
犀利的js 函数集合
2009/06/11 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
js二维数组排序的简单示例代码
2014/01/24 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
React Router v4 入坑指南(小结)
2018/04/08 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
python Flask实现restful api service
2017/12/04 Python
python读取文本中的坐标方法
2018/10/14 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
中专生自我鉴定范文
2014/02/02 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
政风行风建设整改方案
2014/10/27 职场文书
个人创业事迹材料
2014/12/30 职场文书
2016年安全月活动总结
2016/04/06 职场文书