如何使用repr调试python程序
作者:Tynam.Yang 时间:2023-10-11 21:39:15
一般调试程序的时候都比较倾向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则显示出类型,简明的展示出数据信息
来源:https://www.cnblogs.com/tynam/p/8670825.html
标签:repr,调试,python,程序
0
投稿
猜你喜欢
vue.js实现日历插件使用方法详解
2024-05-13 09:38:43
Python Pandas实现DataFrame合并的图文教程
2023-02-01 17:02:48
python中reload(module)的用法示例详解
2021-01-31 10:49:11
详解Pycharm出现out of memory的终极解决方法
2021-12-08 18:14:23
Mysql 5.7.17安装后登录mysql的教程
2024-01-15 04:28:38
python实例化对象的具体方法
2023-11-05 21:52:11
vue2.0 循环遍历加载不同图片的方法
2024-05-08 10:24:50
Python中typing模块的具体使用
2022-03-25 13:02:08
php错误级别的设置方法
2023-11-24 10:30:35
聊聊Python对CSV文件的读取与写入问题
2023-09-26 09:42:29
MySQL数据库的索引原理与慢SQL优化的5大原则
2024-01-18 14:46:01
MySQL的存储函数与存储过程相关概念与具体实例详解
2024-01-19 05:50:32
mysql 左连接、右连接和内连接
2024-01-22 10:14:39
vue登录页面回车执行事件@keyup.enter.native问题
2023-07-02 17:01:42
Python使用pymysql模块操作mysql增删改查实例分析
2024-01-24 03:56:48
Python实现账号密码输错三次即锁定功能简单示例
2023-07-22 07:40:21
PDO::lastInsertId讲解
2023-06-11 14:31:37
Python OS模块常用函数说明
2022-08-28 06:34:39
wxPython定时器wx.Timer简单应用实例
2022-08-20 00:36:30
Python操作Sql Server 2008数据库的方法详解
2024-01-20 04:47:01