Python 开发者节省时间的 10 个方法 已翻译 100%

oschina 投递于 2015/08/03 10:58 (共 8 段, 翻译完成于 08-03)
阅读 11990
收藏 171
6
加载中

Python 是一个美丽的语言,可以激发用户对它的爱。所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python.

Python有很多吸引程序员的功能 ,它易学,面向对象,字节码编译,免费且开源。还有运行时检查。完整快速的支持,可以执行各种任务的扩展。

高效的Python

在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面。在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里...

wancheng
翻译于 2015/08/03 15:38
2

1. 不使用分号

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

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

2. 找一个称手的代码编辑器

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

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

关于编辑器选择指南,请参考文章 Which Code Editors Do Pythonists Use?

wancheng
翻译于 2015/08/03 15:59
1

3. 遵循 Python 代码规范

example of Python style

遵循 Python 代码规范可以提升代码的可读性,从而节省评审代码的时间。(Python 的设计哲学 强调代码的可读性。)

4. 使用 help() 函数

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

Python 文档有更多该函数的用法。

wancheng
翻译于 2015/08/03 16:08
1

5. 使用库

Python 有大量的库可以让你不必每次都重复造轮子。

比如,你可以从 PyPI(Python包索引)选择大量可用的包,这是一个软件仓库。

scikit-image home page

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

6. 使用Cookiecutter

cookiecutter logo

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

wancheng
翻译于 2015/08/03 16:15
1

7. 严格的注释

养成写注释的好习惯,可以节省你和其他人的时间,尤其是作调试跟踪。(是的我们听到很多,但似乎很多程序员还是需要提醒)。

Python commenting

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

8. 经常测试

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

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

wancheng
翻译于 2015/08/03 16:28
1

9. 专注和专业

focus and specialize

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

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

深入类似这些的领域,并掌握一个特定的框架,帮助你在更深的层次学习 Python,掌握一个特定的代码风格(在第三部分已经提到),处理特定类型的问题。

wancheng
翻译于 2015/08/03 16:50
1

10. 每天编码

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

总结

在这边简短的文章中,我已经列举了主要的几个我从和 python 开发者的对话收集来的 tips,下面的是我能够添加进去的其他的 tips.

参与 python 的活动和集会

people at conference

保证参加你能够参加到的每场活动和集会。他们有益于分享经验,最佳实践,工具和其他有趣的话题。

这可能表面上不是一种省事的策略,但是通过建议,提示,破解来学习其他人的经验是另一种避免重复造轮子的方法。

每年一次的 PyConf 是一个知晓活动的好地方。

hefeimissyou
翻译于 2015/08/03 16:54
1

纸上思考

纸上思考 —— 在直接深入代码之前这样做 —— 将给你进行修改的灵活性。直接就去写代码会强迫你从一开始就得去考虑实现的细节, 这在启动项目时常常不是对你的时间的最佳利用方式。纸上思考这种解放注意力的方式对于头脑风暴和问题的解决都很有好处!

掌握基础知识

最后这一条看似很明显,但一定要投入时间来学习 Python 的基础知识. 这样最终会为你节省很多的时间,因为对更加复杂的主题,你会有更好的准备.
一些好书可以对此有所帮助,它们包括:

通过阅读博客和文章,保持有关信息的新鲜度也很重要。可以跟进的一个很棒博客是 The Mouse Vs. The Python.

LeoXu
翻译于 2015/08/03 19:02
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(34)

小宇宇
留言收藏
今秋
今秋
好像对其他语言也是一样,da
eechen
eechen

引用来自“eechen”的评论

@梅开源 感觉PHP最好的UI还是HTML,毕竟PHP就是一个HTML预处理器.
还有PHP用array不就可以进行矩阵运算了吗?
PHP也支持常见的数学运算:
http://php.net/manual/zh/refs.math.php

引用来自“梅开源”的评论

无视差距是不行的。
不是无视差距.如果PHP脱离HTML搞图形库绑定,那真是方向性错误的问题,完全可以说,PHP-GTK和wxPHP都不会有未来. 另外,数据处理用PHP也能做,毕竟PHP自带了基本的数学库,以及数组本身就能描述解决很多数据的问题.说PHP不适合像Matlab那样搞专业的数学和算法研究倒真是这样的.
梅开源
梅开源

引用来自“eechen”的评论

@梅开源 感觉PHP最好的UI还是HTML,毕竟PHP就是一个HTML预处理器.
还有PHP用array不就可以进行矩阵运算了吗?
PHP也支持常见的数学运算:
http://php.net/manual/zh/refs.math.php
无视差距是不行的。
南院逍大王
南院逍大王
水文~
Xtay
Xtay

引用来自“DF_XYZ”的评论

噗,第一条就笑喷了,有用Python还打分号的人吗?
有。我开启了自动换行
eechen
eechen
@梅开源 感觉PHP最好的UI还是HTML,毕竟PHP就是一个HTML预处理器.
还有PHP用array不就可以进行矩阵运算了吗?
PHP也支持常见的数学运算:
http://php.net/manual/zh/refs.math.php
梅开源
梅开源

引用来自“eechen”的评论

PHP是一个美丽的语言,可以激发用户对她的爱。
所以如果你试图加入程序员行列,或者你有点厌倦Java和其他语言,我推荐你尝试PHP。
因为PHP是Web开发者节省时间的大胸器。

引用来自“梅开源”的评论

php也只好搞web这口了。想用php干别的还是缺现成成熟东西支持。要是php可以和python一样容易整桌面端和数据处理,可以更统一世界。

引用来自“eechen”的评论

PHP做桌面应用的想法: 除去icudt55.dll,PHP7用7ZIP压缩后不足7MB,而PHP自带了SQLite和CLI HTTP Server,用户打开浏览器就能访问PHP开发的桌面应用.如果源代码不想被别人看到,可以用php-beast之类的工具进行加密. 还有,我想为什么PHP就不适合用来进行数据处理,毕竟就速度而言,PHP5都比Python快,更不用说PHP7了.
这种问题我感觉主要还是语言设计思路上和传播的问题,可能和核心成员的工作内容有关。。。 两种都灵活且基于C,但做桌面应用wxPhp很有趣但还不够成熟,phpGTK万年不更新的样子? python很早就有一些制作GUI的东西,几乎每本书里都有介绍。诸如tkl,pyQT,wxPy之类能做出不错界面。在数据分析处理时候,则和《集体智慧编程》等一系列书籍以及numPy等库的先行有关。 php 在功能上更精简更专注web开发,但对其他方面考虑和内容导向传播不足。 现代大数据处理一般都是扔到个云里渲染或计算的,用哪种语言或许还是看开发时候是否直观,是否能简单弄个界面出来上面画点东西数据可视化。倘若php什么时候可以自带个frame里面用GD啥的画个树出来,才好让粉丝沿路前行。(其实用wxphp等可以做但不是官方)
eechen
eechen

引用来自“eechen”的评论

PHP是一个美丽的语言,可以激发用户对她的爱。
所以如果你试图加入程序员行列,或者你有点厌倦Java和其他语言,我推荐你尝试PHP。
因为PHP是Web开发者节省时间的大胸器。

引用来自“梅开源”的评论

php也只好搞web这口了。想用php干别的还是缺现成成熟东西支持。要是php可以和python一样容易整桌面端和数据处理,可以更统一世界。
PHP做桌面应用的想法: 除去icudt55.dll,PHP7用7ZIP压缩后不足7MB,而PHP自带了SQLite和CLI HTTP Server,用户打开浏览器就能访问PHP开发的桌面应用.如果源代码不想被别人看到,可以用php-beast之类的工具进行加密. 还有,我想为什么PHP就不适合用来进行数据处理,毕竟就速度而言,PHP5都比Python快,更不用说PHP7了.
htfy96
htfy96

引用来自“梅开源”的评论

python的精髓在于易于运行和组合

and

自从有了IDLE,我再也没用过calc

引用来自“htfy96”的评论

高精度计算还是不行,比不上linux自带的bc

引用来自“eechen”的评论

不会吧,连被吐槽只能进行Web开发的PHP都内置提供了bcmath(Binary Calculator Math)和gmp(GNU Multiple Precision)精度计算绑定.
比如说: >>> 515151515615415415415515/1561515156151545151 + 156154154148716156154154/561541561515 默认会转成浮点数,尽管可以用fractions包,但是在racket(一种scheme解释器)中: > (+ 515151515615415415415515/1561515156151545151 156154154148716156154154/561541561515) 243837367678231456145797187529240505112479/876855659114677722072566463765
返回顶部
顶部
返回顶部
顶部