首页 » 网站建设 » php安装ice技巧_求求你别用 print 来 debug 了

php安装ice技巧_求求你别用 print 来 debug 了

访客 2024-12-02 0

扫一扫用手机浏览

文章目录 [+]

print 确实好用,由于它足够大略,大略到不须要思考,大略到任何一个程序员都可以利用任意的编程措辞来打印一个 hello world。

直到本日,我还是推举 debug 是首选 print。

php安装ice技巧_求求你别用 print 来 debug 了

只不过,现在有了冰激凌,打印信息 debug 更甜了。

php安装ice技巧_求求你别用 print 来 debug 了
(图片来自网络侵删)

你说冰激凌不是吃的吗,怎么能 debug 了?

程序员 Ansgar Grunseid 看我们利用 print 即打印变量名称,又打印变量的值,太辛劳啦,就做了一个工具,取名叫 icecream,让打印信息 debug 这种办法更“甜”。

安装:

pipinstallicecream

利用

fromicecreamimportic

下面把 icecream 简称 ic。

打印变量时 ic 的用法和 print 的用法基本一样,但比 print 更好用:

ic 可以自动打印变量或表达式的名称。

ic 打印的结果更俊秀的,包含语法高亮。

ic 可以输出程序的高下文:文件名,行号,父函数名等信息。

ic 可以一次导入处处利用。

ic 可以配置前缀。

主要的是,它让你编写 print 语句的韶光减少了 40%。

只要 print 不输出到文件,不传入 end 参数,你可以在任何利用到 print 的地方更换为 ic,反之亦然。

你仍旧可以不用 ic,但是如果常常用 print 来 debug,我就建议你用,为什么?

由于 print 是你的高频要素,改进“高频要素”会从根本上改进生命体的生活质量。

ic 利用举例:

检讨变量

#ice_demo.pyfromicecreamimporticname="Python七号"ic(name)deffoo(i):returni+333ic(foo(123))d={'key':{1:'one'}}ic(d['key'][1])classklass():attr='yep'ic(klass.attr)

ic 的输出很俊秀,自动打印了变量或表达式的名称,真的喷鼻香,如下:

icecream

检讨实行位置

不带任何参数也是可以的:

fromicecreamimporticexpression=Falsedeffoo():ic()#first()ifexpression:ic()#second()else:ic()#third()foo()

ic 的输出如下:

ic|demo.py:6infoo()at02:49:29.467ic|demo.py:13infoo()at02:49:29.469

可以看出,ic() 还自动输出了韶光戳,因此见地式实行到哪里,直接调用 ic() 就完事。

ic 有返回值

ic 的返回值便是它参数的值:

In[1]:fromicecreamimporticIn[2]:a=6In[3]:b=ic(a)ic|a:6In[4]:ic(b)ic|b:6Out[4]:6

如果你要返回 ic() 的输出,可以这样:

In[5]:out=ic.format(a)In[6]:outOut[6]:'ic|a:6'一次导入处处利用

一个工程,会有很多 py 文件,不想在每个文件内部都 import,可以这样:

main.py 只导入一次

fromicecreamimportinstallinstall()fromxxximportfoofoo()

其他被 main 引用的文件 xxx.py 不须要再 import:

deffoo():x=3ic(x)

实行 main.py 就会看到变量 x 的信息输出。

这是由于,install() 函数把 ic() 添加到了内建模块, 所有被编译器打开的文件都会共享这个 ic,当然,可以通过 uninstall() 来卸载 ic。

灵巧的前缀配置

In[1]:fromicecreamimporticIn[2]:ic.configureOutput(prefix='hello->')In[3]:ic('world')hello->'world'Out[3]:'world'In[4]:importtimeIn[5]:defTimestamp():...:return'%s|>'%time.strftime("%Y-%m-%d%T")...:In[6]:ic.configureOutput(prefix=Timestamp)In[7]:ic('world')2021-04-0111:02:20|>'world'Out[7]:'world'

configureOutput 还可以传入 outputFunction、argToStringFunction、includeContext 参数,这里你可以自己考试测验。

末了的话

请把稳 icecream 是个通用的工具,不但是 Python 能用,以下编程措辞也可以用:

Dart: icecream[1]Rust: icecream-rs[2]Node.js: node-icecream[3]C++: IceCream-Cpp[4]PHP: icecream-php[5]Go: icecream-go[6]Ruby: Ricecream[7]Java: icecream-java[8]

因此,很随意马虎迁移到其他措辞,如果你常常用 print 来 debug,现在是时候用 icecream 来提升下生活质量了。
如果你以为有用,请分享、点赞、在看支持。

参考资料

[1]

icecream: https://github.com/HallerPatrick/icecream

[2]

icecream-rs: https://github.com/ericchang00/icecream-rs

[3]

node-icecream: https://github.com/jmerle/node-icecream

[4]

IceCream-Cpp: https://github.com/renatoGarcia/icecream-cpp

[5]

icecream-php: https://github.com/ntzm/icecream-php

[6]

icecream-go: https://github.com/WAY29/icecream-go

[7]

Ricecream: https://github.com/nodai2hITC/ricecream

[8]

icecream-java: https://github.com/Akshay-Thakare/icecream-java

原作者:https://mp.weixin.qq.com/s/Gr4o_yc2g7HMj_pgLHuGeg

更多爬虫、数据剖析、全栈开拓、人工智能学习资料自取私信@Python阿执回答关键词【资料】

相关文章

介绍皮肤设置,如何打造理想肌肤状态

随着科技的发展和人们对美的追求,皮肤设置已成为美容护肤的重要一环。如何根据皮肤类型、肤质、年龄等因素进行合理设置,已成为众多爱美人...

网站建设 2025-01-03 阅读0 评论0

介绍盖章制作,传承文化,彰显权威

自古以来,盖章在我国文化中具有重要的地位。从古代的官印、私印到现代的公章、合同章,盖章已成为一种独特的文化符号,承载着丰富的历史内...

网站建设 2025-01-03 阅读0 评论0

介绍监控破坏,技术手段与法律风险并存

随着科技的飞速发展,监控设备已遍布大街小巷,成为维护社会治安的重要手段。一些不法分子为了逃避法律制裁,开始研究如何破坏监控设备。本...

网站建设 2025-01-03 阅读0 评论0

介绍登录不上之谜,技术故障还是人为疏忽

随着互联网的普及,登录已成为人们日常生活中不可或缺的一部分。在享受便捷的登录不上这一问题也困扰着许多用户。本文将深入剖析登录不上之...

网站建设 2025-01-03 阅读1 评论0

介绍电脑键盘调出方法,让操作更高效

随着科技的发展,电脑已经成为了我们日常生活中不可或缺的工具。而电脑键盘,作为电脑输入设备,更是我们与电脑进行交流的桥梁。你是否知道...

网站建设 2025-01-03 阅读0 评论0

介绍磁力链,高效便捷的文件下载利器

在互联网高速发展的今天,文件下载已成为日常生活中不可或缺的一部分。而磁力链作为一种新型的文件下载方式,凭借其高效、便捷的特点,受到...

网站建设 2025-01-03 阅读0 评论0