Python 开发者节省时间的 10 个小技巧
Python 是一个美丽的语言,可以激发用户对它的爱。所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python.
Python有很多吸引程序员的功能 ,它易学,面向对象,字节码编译,免费且开源。还有运行时检查。完整快速的支持,可以执行各种任务的扩展。
高效的Python
在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面。在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里…
1. 不使用分号
使用分号在 Python 中是可选的,对比其他面向对象语言,你不需要在每一条语句后面使用分号。
这看起来很简单,似乎也节省不了多少时间;但一旦你的代码量扩展到数千号,这些分号就变得分心且没有必要键入。
2. 找一个称手的代码编辑器
选择一个称手的代码编辑器可以节省大量的时间。面对这么多代码编辑器,很多新手都会感觉很迷茫。
习惯一个编辑器再使用其他编辑器会觉得很混乱,所以选一个称手的是一个好的起点。不管你选择哪一个,要实时支持flake8 和 PEP8。
关于编辑器选择指南,请参考文章 Which Code Editors Do Pythonists Use?
3. 遵循 Python 代码规范
遵循 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,一个常用的代码测试工具,很多 Pythonists 使用它。
9. 专注和专业
Pythonists 都建议要有一个专注领域和专长。你可以使用 Python 做很多事情,从编写网页摄像到处理计算和算法。
已经有大量的库可以帮助完成这些任务,如SimpleCV,计算机视觉处理;Biopython,是一个生物计算库; SymPy,是一个数学符号计算库。
深入类似这些的领域,并掌握一个特定的框架,帮助你在更深的层次学习 Python,掌握一个特定的代码风格(在第三部分已经提到),处理特定类型的问题。
10. 每天编码
当你养成了每天写 python 代码,使用 python 解决问题的习惯,你就会开始用 python 思考,可以这么说,这将最终会帮助你更快的解决问题。
总结
在这边简短的文章中,我已经列举了主要的几个我从和 python 开发者的对话收集来的 tips,下面的是我能够添加进去的其他的 tips.
参与 python 的活动和集会
保证参加你能够参加到的每场活动和集会。他们有益于分享经验,最佳实践,工具和其他有趣的话题。
这可能表面上不是一种省事的策略,但是通过建议,提示,破解来学习其他人的经验是另一种避免重复造轮子的方法。
每年一次的 PyConf 是一个知晓活动的好地方。
纸上思考
纸上思考 —— 在直接深入代码之前这样做 —— 将给你进行修改的灵活性。直接就去写代码会强迫你从一开始就得去考虑实现的细节, 这在启动项目时常常不是对你的时间的最佳利用方式。纸上思考这种解放注意力的方式对于头脑风暴和问题的解决都很有好处!
掌握基础知识
最后这一条看似很明显,但一定要投入时间来学习 Python 的基础知识. 这样最终会为你节省很多的时间,因为对更加复杂的主题,你会有更好的准备.
一些好书可以对此有所帮助,它们包括:
通过阅读博客和文章,保持有关信息的新鲜度也很重要。可以跟进的一个很棒博客是 The Mouse Vs. The Python.
Python 开发者节省时间的 10 个小技巧的更多相关文章
- Vim新手节省时间的10多个小技巧
Vim新手节省时间的10多个小技巧 Vim 是很多开发者的首选编辑器,通过设置正确的命令和快捷方式,它可以帮你更快的完成工作.这篇文章我们为 Vim 新手提供一些快捷键等方面的小技巧,帮你提升工作效率 ...
- How Javascript works (Javascript工作原理) (十四) 解析,语法抽象树及最小化解析时间的 5 条小技巧
个人总结:读完这篇文章需要15分钟,文章介绍了抽象语法树与js引擎解析这些语法树的过程,提到了懒解析——即转换为AST的过程中不直接进入函数体解析,当这个函数体需要执行的时候才进行相应转换.(因为有的 ...
- (译)关于使用Eclipse Memory Analyzer的10点小技巧
作者 Rave_Tian 2016.02.01 17:56* 字数 2988 阅读 520评论 0喜欢 0 分析和理解应用的内存使用情况是开发过程中一项不小的挑战.一个微小的逻辑错误可能会导致监听器没 ...
- 10个小技巧助您写出高性能的ASP.NET Core代码
今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能,本文的大部分内容来自翻译,当然中间穿插着自己的理解,希望对大家有所帮助!话不多说开始今天的主题吧! 我们都知道性能是公共网 ...
- Python入门:数据结构的3个小技巧
这是关于Python的第11篇文章,主要介绍下数据结构的3个小技巧. 排序: 使用sorted函数实现排序. sorted函数按照长短.大小.英文字母的顺序给每个列表的元素进行排序.这个函数经常在数据 ...
- UITableView的性能优化10个小技巧
通常你会发现一个图片类的app会在一个imageView上做下面这些事情: 1 下载图片(主要的内容图片+用户头像图片)2 更新时间戳3 展示评论4 计算动态的cell的高度 Tip#1 学习 ...
- iOS-UITableView的性能优化10个小技巧
通常你会发现一个图片类的app会在一个imageView上做下面这些事情: 1 下载图片(主要的内容图片+用户头像图片)2 更新时间戳3 展示评论4 计算动态的cell的高度 Tip#1 学习 ...
- 使用google搜索时的10个小技巧!
为大家分享一些google的技巧,很多工作了好几年的同学还不知道如何高效的利用这些技巧,希望同学们掌握!此为google的技巧,百度现在也基本上都实现了这些功能. 使用搜索引擎的10个搜索技巧 ...
- VMware 12安装虚拟机Mac OS X 10.10使用小技巧(虚拟机Mac OS X 10.10时间设置,虚拟机Mac OS X 10.10通过代理上网,Mac OS X 10.10虚拟机优化,VMware虚拟机相互复制)
1:修改Mac OS 系统时间 2:Mac OS系统 通过代理上网 VMware 12安装Mac OS X 10.10虚拟机优化心得 虚拟显卡硬伤,所以必须要优化下才能用,优化的原则就是能精简的精简, ...
随机推荐
- linux挂载远程windows服务器上的ISO,给内网的服务器安装软件
原文: http://blog.csdn.net/chagaostu/article/details/45195817 给内网的服务器安装软件 直接用yum install XXX的话,会告知找不到源 ...
- wp8 各种启动器
PhoneCallTask 打电话 需要 ID_CAP_PHONEDIALER Windows Phone 8, Windows Phone OS 7.1
- linux设备树语法
设备树语法及绑定 概述 Device Tree是一种用来描述硬件的数据结构,类似板级描述语言,起源于OpenFirmware(OF). 就ARM平台来说,设备树文件存放在arch/arm/boot/d ...
- php方法重写:Declaration of should be compatible with that
<?php// this code does trigger a strict messageerror_reporting( E_ALL | E_STRICT ); class cc exte ...
- hdu5794 A Simple Chess 容斥+Lucas 从(1,1)开始出发,每一步从(x1,y1)到达(x2,y2)满足(x2−x1)^2+(y2−y1)^2=5, x2>x1,y2>y1; 其实就是走日字。而且是往(n,m)方向走的日字。还有r个障碍物,障碍物不可以到达。求(1,1)到(n,m)的路径条数。
A Simple Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- Hibernate生成器类
在Hibernate中,id元素的<generator>子元素用于生成持久化类的对象的唯一标识符. Hibernate框架中定义了许多生成器类. 所有的生成器类都实现了org.hibern ...
- ASP.NET管道技术
Asp.net mvc是基于dnf(.net framework )实现了代码分离的开源框架.ASP.NET MVC框架拥有极强的定制以及扩展的特性.本文梳理了ASP.NET MVC的管道(pipel ...
- asp.net mvc FormsAuthentication一些问题
form验证最简单的一句 FormsAuthentication.SetAuthCookie(”userName", false); web.config里加上 <machine ...
- 程序运行缺少MSVCR110.dll
Download Visual C++ Redistributable for Visual Studio 2012 Update 4 from Official Microsoft Download ...
- python资源网站
whl安装包资源网站:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy