如何使用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实现带验证码网站的自动登陆实现代码
Jan 12 Python
python修改操作系统时间的方法
May 18 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
Jan 15 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
python多线程实现代码(模拟银行服务操作流程)
Jan 13 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
Mar 11 Python
django 数据库返回queryset实现封装为字典
May 19 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
python 利用 PIL 将数组值转成图片的实现
Apr 12 Python
python爬虫之selenium库的安装及使用教程
May 23 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中常用数组处理方法实例分析
2008/08/30 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
2014/01/07 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
django-初始配置(纯手写)详解
2019/07/30 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
我的梦中国梦演讲稿
2014/04/23 职场文书
大足石刻导游词
2015/02/02 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL