python正确读音
通常很容易分辨出何时做错了开发。 到处冒出的错误,像糖蜜一样运行的代码以及无用的项目结构只是说明问题的三个征兆。 但是有时候,告诉您何时正确执行起来并非易事。 良好的编程习惯就像电影中最好的特效:您永远不会注意到它们的存在,因为它们不会宣布自己。
那么,什么是一些良好的编程习惯在Python的迹象? 如果您是该语言的新手,并且可以使用某种方式来了解良好的Python开发行为,或者只是想知道您所养成的一些习惯是否值得保留,我们已经收集了一套适合您的指南。 如果您遵循以下概述的八种最佳实践,那么您就在正确地使用Python。
[ 也在InfoWorld上:更好的Python项目和Poetry的依赖管理 ]
您正在使用虚拟环境和项目管理工具
甚至很小的一次性Python项目也将从虚拟环境和适当的项目结构中受益。 诗歌之类的工具使安装过程几乎自动完成。 即使是较低的venv
,使用虚拟环境填充项目并获得其收益也相对容易。
版本控制是另一个至关重要的项目管理工具。 这些天通常意味着Git。 是的,即使对于简单的单文件项目,您也应该利用Git。 您永远不知道何时需要回滚到某个早期版本。 大多数支持Python的IDE都内置了对venv
和Git的支持,因此很容易使用它们。
您正在使用Python内置函数,而不是重新发明轮子
精明的Python程序员知道可以使用Python的内置函数和标准库来处理绝大多数常见用例。 您将需要完成的大多数日常任务-文件操作,正则表达式,使用Web浏览器等-都已经在Python的某个地方进行了处理。
经验不足的Python开发人员经常问的一个常见问题是,如何知道标准库中的内容是否涵盖了我的用例,而又不必记住内容? 简短的答案是在标准库索引和内置函数概述页上添加书签,并在遇到“日常编程”类问题时立即浏览一下。 不断接触Python内部可用的工具是一位强大的老师。
您正在使用正确的模块来完成工作
与内置函数和标准库一样,利用Python大量的第三方模块集合可以节省大量人力。 通过PyPI的Web前端针对您的问题触发搜索词,您几乎总是会找到提供开箱即用解决方案的模块。 同样,为什么只要pip install
即可重新发明(Python)轮子呢? 另外,许多Python模块具有C加速性能,这意味着使用其他模块时,您可以获得更快的开发速度和更快的程序执行速度。
通常会出现一个问题:如果有多个模块可以处理我的用例,那么我应该使用哪个模块? 简单的答案是从似乎使用或动量最大的项目开始(例如,如GitHub上的星星或叉子所示),因为您的用例很有可能与许多其他人相同。
您不会因为OOP而发疯
面向对象编程(OOP)将数据结构与用于操作它们的方法捆绑在一起,从而使编写高级代码更加容易。 对于像Python这样的高级语言,OOP非常适合。 但是,并非所有的Python代码需要面向对象的。 熟悉Python的开发人员了解,只要完成这项工作,20行(甚至200行)的“完成并获取”代码就可以节省宝贵的时间,而不是面向对象的代码不需要面向对象的方法。 总的来说,大型复杂项目的确可以从面向对象中受益,但是除非项目要求OOP,否则可以放宽规则。
您正在测试代码
谈到大型项目所做的事情,明智的Pythonista者知道创建测试套件的价值。 尽管编写测试可能会很乏味且令人厌烦,但是当项目超过一定程度的复杂性时,它们是无价的。 更精通技术的标志是与每个新功能同时进行测试,而不是在事实之后进行。 确实,越早克服测试编写难题,就越早开始改进代码。 从实现的第一个功能开始就开始测试,您会很高兴的。
您没有使用Python 2
去年是事实,现在是双重事实。 Python 2运行了很长时间,表现不错,但是现在官方的Python开发团队完全不支持它。 明智的Pythonista开发人员已经将他们的项目迁移到Python 3,或者他们现在正在迁移。
您也没有使用最新版本的Python
Python 3.8可能是Python的最新和“最大”版本,但这并不意味着您必须使用它。 实际上,智能软件开发人员了解使用任何事物的最新版本都是一掷千金。 Python也不例外。 精明的Python程序员坚持使用最新版本之前的版本,以确保与第三方模块的最广泛兼容性。 毕竟,能够使用所有这些有用模块的能力是首先使用Python的主要原因之一。
您也在使用其他编程语言
Python被描述为几乎所有事物的“次优编程语言”,有时,最好与次之之间的差距确实很大。 明智的Python开发人员知道Python只是众多工具中的一种,您应该始终使用正确的工具来完成当前的工作。
对于需要最大运行时速度的应用程序或操作,您可能不想在纯Python中滚动; 它是C或Rust,甚至Go都会吸引您。 但是,并非所有性能密集型编程都意味着完全放弃Python。 也许这只是意味着使用像Numpy或Pandas这样的由C支持的库,或者将C或C兼容的代码包装在Python Shell中,或者使用Cython将Python转换为C。
进一步了解Python
- 什么是Python? 强大,直观的编程
- 什么是PyPy? 更快的Python而无痛苦
- 什么是赛顿? Python以C的速度
- Cython教程:如何加速Python
- 如何聪明地安装Python
- Python 3.8中最好的新功能
- 通过Poetry更好的Python项目管理
- Virtualenv和Venv:解释了Python虚拟环境
- Python virtualenv和venv做和不做
- Python线程和子流程说明
- 如何使用Python调试器
- 如何使用timeit来分析Python代码
- 如何使用cProfile来分析Python代码
- 开始使用Python进行异步处理
- 如何在Python中使用asyncio
- 如何将Python转换为JavaScript(然后再次转换)
- Python 2 EOL:如何在Python 2结束后生存
- 每种编程需要12个Python
- 每个Python开发人员都有24个Python库
- 您可能会错过的7个出色的Python IDE
- Python的3个主要缺点及其解决方案
- 比较了13个Python Web框架
- 4个Python测试框架可消除您的错误
- 6个您不想错过的Python新功能
- 5种用于掌握机器学习的Python发行版
- 8个出色的Python库用于自然语言处理
翻译自: https://www.infoworld.com/article/3536488/8-signs-youre-doing-python-right.html
python正确读音