代替print输出的PY调试库:PySnooper
2024-08-29 04:05:49
PySnooper¶
Github:https://github.com/lotapp/PySnooper
pip install pysnooper
使用:分析整个代码
@pysnooper.snoop()
def avg(args):
return sum(args) / len(args)
PS:调试代码片段
with pysnooper.snoop():
code
In [1]:
import functools
import pysnooper # 分析整个代码
@pysnooper.snoop()
def sum(args):
return functools.reduce(lambda x, y: x + y, args) def avg(args):
# return sum(args) / len(args)
sum_num = sum(args)
# 分析片段代码
with pysnooper.snoop():
avg_num = sum_num / len(args)
return avg_num
In [2]:
# 求和
sum(list(range(1, 101)))
Starting var:.. args = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ... 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
12:21:19.846556 call 6 def sum(args):
12:21:19.847553 line 7 return functools.reduce(lambda x, y: x + y, args)
12:21:19.847553 return 7 return functools.reduce(lambda x, y: x + y, args)
Return value:.. 5050
Out[2]:
5050
In [3]:
# 平均值
avg(list(range(1, 101)))
Starting var:.. args = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ... 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
12:21:19.940523 call 6 def sum(args):
12:21:19.941526 line 7 return functools.reduce(lambda x, y: x + y, args)
12:21:19.941526 return 7 return functools.reduce(lambda x, y: x + y, args)
Return value:.. 5050
New var:....... args = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ... 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
New var:....... sum_num = 5050
12:21:19.942524 line 14 avg_num = sum_num / len(args)
Out[3]:
50.5
最新文章
- CentOS系统yum源使用报错:Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmforge.
- Unity中获取物体的子物体
- Winform以任意角度旋转PictureBox中的图片的方法
- java后台进程和线程优先级
- 利用curl抓取远程页面内容
- lunix机器的jdk安装
- 在chrome下安装Proxy SwitchySharp插件
- java链接mysql
- MVC+EF 的增删改查操作
- IOS使用C#预处理命令,多种SDK共存
- 树莓派.GPRS.短信接收器
- Beta版本敏捷冲刺每日报告——Day2
- css垂直居中方法总结
- linux shell通配符及if语句判断
- ES5 常用 语法(object Arrary 函数绑定this指向)
- PLSQL安装、PLSQL汉化、激活
- Ant 批量执行jmeter 脚本
- 使用Repeater控件实现三层嵌套以及分页效果
- ajax响应报文可以被浏览器缓存的必要条件
- webpack4 未设置mode会自动压缩
热门文章
- 安装openstack 时 遇见的一些问题及解决方法!
- 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_字符串
- 系统重装 Windows_VHD_辅助处理工具说明文档1
- ping百度不通的解决方案
- js 获取浏览器显示内容的宽度和高度
- 【Excle数据透视表】如何新建数据透视表样式
- 补充——a.extend(b) #合并列表——a.update(b) #把b字典的元素加入到a字典里面
- java中获取文件路径的几种方式
- 使Gallery时设置居左显示
- 支付宝开放平台 配置RSA(SHA1)密钥 OpenSSL配置公钥私钥对