在我们涵盖7个PyPI库的系列中了解有关解决Python问题的更多信息。Python是当今最流行的编程语言之一,因为:它是开源的,用途广泛(例如网络编程、商业应用程序、游戏、科学编程等),它由充满活力的并致力于社区吧。这个社区使我们能够在Python包索引(PyPI)中拥有如此庞大而多样的包集,以扩展和改进Python并解决不可避免的问题。在本系列中,我们将介绍七个PyPI库,它们可以帮助您解决常见的Python问题。在第一篇文章中,我们了解了Cython。今天,我们将使用代码格式化工具Black。Black有时候有创意是一件很棒的事情。有时这只是一种痛苦。我喜欢创造性地解决难题,但我希望我的Python格式尽可能一致。没有人会对使用“有趣”缩进的代码印象深刻。但比不一致的格式更糟糕的是代码审查只检查格式。这对审查者来说很烦人,对被审查者来说更烦人。当您的linter告诉您代码缩进不正确,但没有建议正确的缩进量时,这也很令人恼火。对于Black,它不会告诉您该做什么,它是一个优秀、勤奋的机器人:它会为您修复代码。要查看它是如何工作的,请随意写一些非常不一致的东西,例如:defadd(a,b):returna+bdefmult(a,b):return\a*bBlack抱怨?不,它为你修好了!$blackmath重新格式化mathAlldone!?🍰?1文件重新格式化。$catmathdefadd(a,b):returna+bdefmult(a,b):returna*bBlack确实提供错误而不是修复选项,甚至提供输出差异编辑的选项风格。这些选项在持续集成(CI)系统中很有用,可以强制Black在本地运行。此外,如果diff输出记录到CI输出,您可以将其直接粘贴到补丁中,在极少数情况下您需要修复输出但不能将其用于Black的本地安装。$black--check--diffbad---math2019-04-0917:24:22.747815+0000+++math2019-04-0917:26:04.269451+0000@@-1,7+1,7@@-defadd(a,b):returna+b+defadd(a,b):+returna+bdefmult(a,b):-return\-a*b+returna*b将重新格式化数学全部完成!💥💔💥1文件将被重新格式化。$echo$?1在本系列的下一篇文章中,我们将介绍attrs,一个用于干净、正确代码的库。
