从事编程开发,在不少同学看来”不就是写代码吗?“
其实,我认为写代码的过程在开发工作中占据的比重非常小。很大部分时间都花费在开会、扯皮上,接下来就是花时间了解产品和业务逻辑,丝毫算法如何时间。
等这一系列都完成了,其实剩余的写代码的工作量费非常少的。
而在开发过程中,又会涉及到很多需要格外注意的点,例如编码风格、扩展性、可读性、注释、文档等等。
在Python开发中,目前已经有很多不错的开源工具包来解决这些问题,这些工具对于Python开发起着事半功倍的作用,能够极大的提升开发效率,节省时间。
今天,就来给大家分享一些Python开发过程中一些不可或缺的神器!
代码格式
1. Black
Black 可能是目前最流行,或者最好用的的 Python 代码格式化程序,它在Github上已经超过30K Star。
YAPF是另一个和Black功能比较类似的代码格式化工具。
2. autopep8
autopep8 没有 Black 或 YAPF功能丰富——它修复了 PEP8 已知问题,但除此之外过多的影响代码。
相对而言,Black更加「解放双手」,会按照内置规则做比较彻底的格式化。
3. isort
isort 和 reorder_python_imports是对Python中import
模块部分进行排序的工具。
在写代码过程中不知不觉导入了很多Python模块,不知道哪些模块还有用,不知道哪些模块重复导入了,也不知道不同导入之间是否存在版本冲突。
通过isort能够对模块导入进行排序,并且自动删除不需要的模块。
代码升级
Python版本不断在升级迭代,迭代过程中就会有语法方面的变更,例如print "hello world"
到print("hello world")
。
如果我们的项目还处于旧版本的语法,就会存在很多冲突和问题。
下面,就来介绍几款代码升级工具。
1. pyupgrade
pyupgrade是一款能够自动将Python语法升级到新版语法的工具。
2. flynt
前面提到,字符串格式化Python语法升级过程中比较常用且明显的升级点。
很多同学还是习惯用%
格式化Python字符串,flynt这款工具就使用%
重写旧的字符串格式化代码,使用.format
和/或f-strings
对字符串进行格式化。
3. django-upgrade
django-upgrade 和 django-codemod这两款工具可以对包括 Django 中的重大更改或新功能的各种修复升级。
4. setup-py-upgrade
顾名思义,这款工具是针对setup
配置文件进行升级,它可以将 setup.py 升级为 setup.cfg 文件。
代码提示
1. Monkeytype
相对于C/C++、Java这些编程语言,Python相对弱化了参数和变量的类型,很多同学在开发过程中也很少注意参数和变量类型。
MonkeyType 收集函数参数和返回值的运行时类型,并可以根据运行时收集的类型自动生成存档文件,还可以将类型注释直接添加到 Python 代码中。
举个例子:
from some.module import add
add(1, 2)
执行MonkeyType命令:
$ monkeytype run myscript.py
代码会修改成下面这样:
def add(a: int, b: int) -> int:
return a + b
2. pytype
Pytype 检查并推断 Python 代码的类型——不需要类型注释。
它可以检查Python语法的错误并标记出来,例如,属性名称拼写错误、函数调用不正确、强制执行用户提供的类型注释等。
3. autotyping
一种为各种情况添加类型提示的工具,可以自动补全。
4. no_implicit_optional
提供类型提示,让代码更符合 PEP 484 的小工具。
代码重构
许多 IDE/编辑器提供了一堆工具来重构 Python 代码(例如,重命名)。
在 VSCode 中,默认是 Pylance,此外,pyright 功能也非常强大,并且是开源的。 除了作为命令行静态类型检查器之外,它还充当语言服务器。
但是,我发现一个问题,它们和IDE/编辑器集成使用是挺不错,但是很难在命令行使用,无法进行更多的自动化重构。
因此,这里有一些其他工具,它们专为更独立的使用而设计,并具有一些重构功能:
其他工具
- autoflake — 删除未使用的导入模块
- Fixit — 具有自动修复功能的自定义 linting 规则
- shed— 功能更为丰富,兼具上述两款工具的功能
题外话
在此疾速成长的科技元年,编程就像是许多人通往无限可能世界的门票。而在编程语言的明星阵容中,Python就像是那位独领风 骚的超级巨星, 以其简洁易懂的语法和强大的功能,脱颖而出,成为全球最炙手可热的编程语言之一。
Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多
”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。
在下个十年的剩余时间里,Python 还能如此重要以及保持完整性吗?今天,我们将对事实进行分析,破除一些误解。
CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁
😝朋友们如果有需要的话,可以扫描下方二维码免费领取🆓
如果你对Python感兴趣,想通过学习Python获取更高的薪资,那下面这套Python学习资料一定对你有用!
资料包括:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。0基础小白也能听懂、看懂,跟着教程走,带你从零基础系统性地学好Python!
这份完整版的Python全套学习资料已经打包好,需要的小伙伴可以戳下方链接免费领取
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python学习软件
工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!
三、Python入门学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
四、Python练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
五、Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~
六、Python面试资料
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
七、资料领取
上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码免费领取
这份完整版的Python全套学习资料已经打包好,需要的小伙伴可以戳下方链接免费领取