提升 Python 编程效率的十点建议

程序员的时间很宝贵,Python这门语言虽然足够简单、优雅,但并不是说你使用Python编程,效率就一定会高。要想节省时间、提高效率,还是需要注意很多地方的。

今天就与大家分享资深Python程序员总结的10点建议,帮助大家大幅节省开发时间。

1. 不使用分号

使用分号在 Python 中是可选的:与其他面向对象语言不同,你不需要在每一条语句后面使用分号。

这看起来很简单,似乎也节省不了多少时间;但一旦你的代码量扩展到数千号,这些分号就变得分心且没有必要键入。

2. 使用称手的代码编辑器

选择一个称手的代码编辑器可以节省大量的时间。面对这么多代码编辑器,很多新手都会感觉很迷茫。

习惯一个编辑器再使用其他编辑器会觉得很混乱,所以选一个称手的是一个好的起点。不管你选择哪一个,要实时支持flake8 和 PEP8。

参考链接:

3. 遵循 Python 代码规范

遵循 Python 代码规范可以提升代码的可读性,从而节省评审代码的时间。

参考链接:

4. 使用 help() 函数

Python 的 help() 是随手可用的内置函数可以节约很多时间,比如查找其他函数的解释。你可以在解释器终端直接运行该函数。 Python 文档有更多该函数的用法。

5. 善用第三方库

Python 有大量的第三方库可以让你不必每次都重复造轮子。 比如,你可以从 PyPI(Python包索引)选择大量可用的包,这是一个软件仓库。

Scikit-image 是一个很好例子,它使图像处理任务如模糊,增强对比度,缩放只需要一些函数调用就可以完成。

参考链接:

6. 使用Cookiecutter

Cookiecutter 是一命令行工具,可以帮助你从工程模板创建 Python 工程,这可以节省大量的时间。

7. 严格的注释

养成写注释的好习惯,可以节省你和其他人的时间,尤其是作调试跟踪。

注释在团队合作是非常关键,尤其是一个做了大量变更。

8. 经常测试

尝试测试你程序中的每一个组件。听起来好像有点费时,但长时间运行可以节省大量时间,帮助你发现隐藏的 bug,让你对代码更放心,还强制你理解自己的每一片代码在真实情况下是如何地运行。

REPL 是一个 read-eval-print loop,一个常用的代码测试工具,很多Python高手都会使用它。

9. 专注和专业

建议要有一个专注领域和专长。你可以使用 Python 做很多事情,从编写网页到处理计算和算法。

已经有大量的库可以帮助完成这些任务,如 SimpleCV,计算机视觉处理;Biopython,是一个生物计算库; SymPy,是一个数学符号计算库。

深入类似这些的领域,并掌握一个特定的框架,帮助你在更深的层次学习 Python,掌握一个特定的代码风格,处理特定类型的问题。

10. 每天编码

当你养成了每天写 python 代码,使用 python 解决问题的习惯,你就会开始用 python 思考,可以这么说,这将最终会帮助你更快的解决问题。

原文链接:SitePoint 译文链接:http://codingpy.com/article/ten-tips-for-improving-python-programming-efficiency/

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2955
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4214
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2810
来自专栏ASP.NETCore

ASP.NET Core 整合Autofac和Castle实现自动AOP拦截

除了ASP.NETCore自带的IOC容器外,我们还可以使用其他成熟的DI框架,如Autofac,StructureMap等(笔者只用过Unity,Ninjec...

754
来自专栏杨龙飞前端

scrollto 到指定位置

2894
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

5198
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2712
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4355
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.4K7
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

37710

扫码关注云+社区