如何使用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
  • asp之家 网络编程 m.aspxhome.com