介绍冰淇淋:永远不要使用Print()再次调试您的Python代码
为什么我停止使用print()语句用于调试和为什么你要吗
动机
编程时错误几乎是不可避免的。事实上,它是正确的说,一个程序员花了大量的时间调试代码错误。
调试时,使用print ()
语句理解管道的流动和现货意想不到的行为无疑是最广泛采用的方法。
然而,使用print ()
了无数的事项,如:
- 打印语句通常是为了显示输出给用户。如果程序员使用
print ()
调试,调试结束后,程序员应该谨慎删除只有那些特定的print ()
语句用于调试。 - 通常,在调试期间,您可以打印多个变量一个接一个。在这种情况下,程序员必须手动格式输出来增强其可读性。
以上,我们打印两个变量。虽然我们知道第一个变量var_1
第二个是var_2
变量的数量增加,它看起来可能要求您在代码和输出之间来回找出哪些输出对应于哪个变量。
当然,我们可以印更多细节,比如下面,但这只是增加了你的工作。
- 有时,程序员也可以打印行号感兴趣,函数的名称和它的输入,写作等,增加了复杂性长/很多
print ()
语句。 - 在大多数情况下,代码库并不局限于一个文件。相反,有多个文件,形成了管道。在这种情况下,你可能有兴趣显示文件的名称以及在调试期间,这是一件很麻烦的事情
print ()
。
以上原因使print ()
,至少对我来说,最糟糕的选择进行调试。
幸运的是,Python是一个很好的选择。
介绍冰淇淋!
冰淇淋
冰淇淋是一个Python库,使调试容易,使用最少的代码可读性。
其广受欢迎的特性包括印刷表情,变量名、函数名、行号、文件名和更多的——我们将讨论在这个博客。
安装冰淇淋
您可以安装冰淇淋
图书馆使用皮普
。
进口冰淇淋
使用这个库的标准惯例是进口的集成电路
模块如下:
开始使用冰淇淋
使用冰淇淋库一样简单的打印语句。你需要替换print ()
与集成电路()
。就是这样。
注意区别!集成电路()
打印不仅价值,而且传递的变量的名称。
冰淇淋不仅仅是局限于一个变量。相反,您可以使用它在函数、类等。
多酷!它打印方法的名称(函数
),传递的参数(3
)和输出(6
)。
每一个表达式
,在集成电路()
方法随着会被打印出来价值
的表达式
,如下图所示。
调试与冰淇淋可以应用于普通Python数据结构。Python字典的一个示例如下所示。
检查执行
很多时候,程序员使用print ()
显示有意义(有时随机)语句来确定程序的流。这是如下所示:
冰淇淋可以让你摆脱那些奇怪的语句。
就叫集成电路()
你就完成了。它将打印文件名、行号和其他细节(像函数名(如果有的话)和时间。简单。
使用冰淇淋项目广泛
接下来,你可能会想,一个需要在每个python导入库文件?当然不是!
方法中可用的所有项目文件,导入安装
模块从冰淇淋
在根文件,如下所示:
与安装
,集成电路()
可用的项目范围。
添加一个自定义的前缀
如果你注意到上面的输出集成电路()
语句开始”ic |
”。这是默认前缀冰淇淋了。
但是,如果由于某种原因,你想更换,在一个自定义的前缀,你也可以这样做。这是通过指定前缀
论点的ic.configureOutput ()
方法如下所示:
删除冰淇淋语句后调试
一旦调试代码,您可能想要删除所有不必要的调试语句。
作为集成电路()
语句语法不同print ()
,你可以搜索模式”集成电路(
“在你的编辑和删除语句,如下所示:
或者,您可以使用ic.disable ()
停止集成电路()
从印刷。如果你想再次使用它们,使用ic.enable ()
。
结论
调试与print ()
语句是混乱和不雅的方法。令人困惑的是输出映射到相应的调试语句。此外,它需要额外的手动格式化理解输出。
正如上面所讨论的,Python的冰淇淋图书馆是一个很好的选择。它使调试轻松和可读性,以最少的代码。
阅读更多关于冰淇淋在这里。
感谢你的阅读!
订阅每日剂量的科学数据。在这里,我分享数据科学上的优雅的提示和技巧,每天一条。每天收到这些技巧在你的收件箱。
成为一个数据科学职业!得到免费的数据科学掌握与450 +熊猫工具包,NumPy和SQL问题。
✉️注册我的电子邮件列表不要错过另一篇文章的数据科学指南,技巧和提示,机器学习,SQL, Python和更多。betway娱乐官网媒介将我接下来的文章对你的收件箱。
我喜欢探索,实验,写数据科学概念和工具。你可以与我联系LinkedIn。