效率倍增!4 个鲜为人知却功能强大的魔法命令!

Posted Python学习与数据挖掘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了效率倍增!4 个鲜为人知却功能强大的魔法命令!相关的知识,希望对你有一定的参考价值。

欢迎关注 ,专注Python、数据分析、数据挖掘、好玩工具!

魔术命令已成为每个使用数据科学 Notebook 人的必备品,通过扩展每个 Notebook 的功能,可以有效提高工作效率。

一些魔法命令,例如%time打印出 CPU 和挂钟时间,已经家喻户晓了。本文重点介绍一些功能强大却鲜为人知的魔法命令。欢迎收藏学习,喜欢点赞支持。

1、带有 %%prun 的配置文件代码

虽然著名的魔术命令 %time 和 %timeit 为 Python 代码提供了一些关于CPU和挂钟时间的信息,但它们无法分解代码的哪一部分执行了多长时间,这使得使用多个函数调用调试单元格变得更加乏味。

%prun(行模式)和%%prun(单元格模式)通过 Python 运行代码,并提供每个函数调用所用时间的详细信息。

%%prun不仅显示单元格运行的总时间,还详细说明了函数的调用频率以及这些调用的运行时间。在上面的示例中,调用了两个函数。但是,其中一个函数的运行时间要比另一个函数长得多。神奇的命令 %%prun 显示 firstFunction() 运行了0.722秒,而 secondFunction() 运行了0.007秒。

2、使用 %more 查看文件

下载文件后,使用 notebook 通常会强制用户在单独的文本编辑器中打开文件,以确定使用了哪个分隔符、日期格式或空值占位符。magic命令 %more 允许用户在编写代码时集中精力在笔记本环境中并检查文件。

虽然 %more 不假定文件为任何特定类型,但 %pycat 假定文件为 Python 文件并提供语法突出显示。还值得注意的是,它同时 %pycat 接受文件路径和 URL。

3、使用 %%debug 进行交互式调试

虽然 print 似乎仍然是 notebook 中最常用的调试方法之一,但 Python 已经附带了一个开箱即用的更强大的调试器。魔术命令 %%debug 使用户能够以交互方式使用 Python 的 pdb 调试器并更快地找到错误。

在上面的示例中,Python 的调试器允许 myFunc() 使用 s 命令逐步运行该函数。遇到 TypeError 后,该 a 命令会列出当前函数调用中使用的所有参数,并显示该 y 参数导致异常。

4、使用 %autocall 进行快速函数调用

当速度是唯一重要的事情时,启用自动调用 %autocall 可以帮助显着加快原型设计。当 autocall 设置为 ‘Smart’ 时,notebook 用户不再需要在括号中传递函数参数。使用 %%debug 上面示例中的函数,自动调用使用户能够使用 myFunc 1,2代替调用该函数myFunc(1,2)。

虽然自动调用可以实现更快的原型设计,但重要的是要记住它可能会降低所生成代码的可读性。

概括

在使用数据科学 notebook 时,魔术命令是提高生产力的绝佳工具,其功能远远超出人们的预期。

虽然本文中的四个魔法命令已经可以极大地提高生产力,但哪个魔法命令最有用通常取决于用户和手头的特定用例。幸运的是,甚至还有一个魔法命令可以帮助用户在不离开 notebook 环境的情况下试验魔法命令 %quickref。

此外,iPython 文档详细介绍了可用于魔术命令的所有选项以及如何通过构建自定义魔术命令来扩展生态系统。


技术交流

欢迎转载、收藏、有所收获点赞支持一下!


目前开通了技术交流群,群友超过2000人,添加方式如下:

如下方式均可,添加时最好方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式一、发送如下图片至微信,进行长按识别,回复加群;
  • 方式二、直接添加小助手微信号:pythoner666,备注:来自CSDN
  • 方式三、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

以上是关于效率倍增!4 个鲜为人知却功能强大的魔法命令!的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 命令行黑魔法

Jupyter notebook中5个有趣的魔法命令

PHP培训教程 PHP里10个鲜为人知但却非常有用的函数

PHP培训教程 PHP里10个鲜为人知但却非常有用的函数

动图演示23个鲜为人知的VSCode快捷键

分享 24 个鲜为人知的 HTML 属性,助你提升开发效率