http://www.cnblogs.com/xupeizhi/p/3207976.html#2896469

如何成为python高手

本文是从 How to become a proficient Python programmer 这篇文章翻译而来。


这篇文章主要是对我收集的一些文章的摘要。因为已经有很多比我有才华的人写出了大量关于如何成为优秀Python程序员的好文章。

我的总结主要集中在四个基本题目上:函数式编程,性能,测试,编码规范。如果一个程序员能将这四个方面的内容知识都吸收消化,那他/她不管怎样都会有巨大的收获。

函数式编程

命令式的编程风格已经成为事实上的标准。命令式编程的程序是由一些描述状态转变的语句组成。虽然有时候这种编程方式十分的有效,但有时也不尽如此(比如复杂性) —— 而且,相对于声明式编程方式,它可能会显得不是很直观。

如果你不明白我究竟是在说什么,这很正常。这里有一些文章能让你脑袋开窍。但你要注意,这些文章有点像《骇客帝国》里的红色药丸 —— 一旦你尝试过了函数式编程,你就永远不会回头了。

  • http://www.amk.ca/python/writing/functional
  • http://www.secnetix.de/olli/Python/lambda_functions.hawk
  • http://docs.python.org/howto/functional.html

性能

你会看到有如此多的讨论都在批评这些“脚本语言”(Python,Ruby)是如何的性能低下,可是你却经常的容易忽略这样的事实:是程序员使用的算法导致了程序这样拙劣的表现。

这里有一些非常好的文章,能让你知道Python的运行时性能表现的细节详情,你会发现,通过这些精炼而且有趣的语言,你也能写出高性能的应用程 序。而且,当你的老板质疑Python的性能时,你别忘了告诉他,这世界上第二大的搜索引擎就是用Python写成的 —— 它叫做Youtube(参考Python摘录)

  • http://jaynes.colorado.edu/PythonIdioms.html
  • http://wiki.python.org/moin/PythonSpeed/PerformanceTips

测试

如今在计算机科学界,测试可能是一个最让人不知所措的主题了。有些程序员能真正的理解它,十分重视TDD(测试驱动开发)和它的后继者BDD(行为 驱动开发)。而另外一些根本不接受,认为这是浪费时间。那么,我现在将告诉你:如果你不曾开始使用TDD/BDD,那你错过了很多最好的东西!

这并不只是说引入了一种技术,可以替换你的公司里那种通过愚蠢的手工点击测试应用程序的原始发布管理制度,更重要的是,它是一种能够让你深入理解你 自己的业务领域的工具 —— 真正的你需要的、你想要的攻克问题、处理问题的方式。如果你还没有这样做,请试一下。下面的这些文章将会给你一些提示:

  • http://www.oreillynet.com/lpt/a/5463
  • http://www.oreillynet.com/lpt/a/5584
  • http://wiki.cacr.caltech.edu/danse/index.php/Unit_testing_and_Integration_testing
  • http://docs.python.org/library/unittest.html

编码规范

并非所有的代码生来平等。有些代码可以被另外的任何一个好的程序员读懂和修改。但有些却只能被读,而且只能被代码的原始作者修改 —— 而且这也只是在他或她写出了这代码的几小时内可以。为什么会这样?因为没有经过代码测试(上面说的)和缺乏正确的编程规范。

下面的文章给你描述了一个最小的应该遵守的规范合集。如果按照这些指导原则,你将能编写出更简洁和漂亮的代码。作为附加效应,你的程序会变得可读性更好,更容易的被你和任何其他人修改。

  • http://www.python.org/dev/peps/pep-0008/
  • http://www.fantascienza.net/leonardo/ar/python_best_practices.html

那就去传阅这这些资料吧。从坐在你身边的人开始。也许在下一次程序员沙龙或编程大会的时候,也已经成为一名Python编程高手了!

祝你学习旅途顺利。

如果你喜欢这些文章,请在微博上顶一下,让其他人也知道。

如何成为python高手(转)相关推荐

  1. python零基础怎么学-零基础如何自学成为Python高手?

    原标题:零基础如何自学成为Python高手? 很多想从事python行业的朋友都会问到,零基础如何自学成为Python高手?根据小北多年教育的经验,我总结了几个小建议,想看干货的请看下文! 1.如何克 ...

  2. 如何自学python基础-零基础如何自学成为Python高手?我有几点干货

    最近,很多小伙伴问我,如何才能自学成为 Python 高手?根据自己多年大厂工作经验和带领数千朋友的学习,我总结了几点小建议,直接上干货...... 1 如何克服从入门到放弃? 最好的方法是和身边的朋 ...

  3. python高手之路第三版_《Python高手之路(第3版)》——1.3 版本编号-阿里云开发者社区...

    本节书摘来自异步社区<Python高手之路(第3版)>一书中的第1章,第1.3节,作者[法]Julien Danjou,王飞龙 译,更多章节内容可以访问云栖社区"异步社区&quo ...

  4. 百家号 python高手养成_python高手养成记04:python的所有数据类型,一篇足矣

    上一篇:python高手养成记03:面向对象是什么?网友:能3天掌握一门语言 题序: 在上一篇中,我们理解了面向对象的思想,只需要大致理解即可,因为后面我们会专门做这一块的培训.在本篇中,小编来讲解p ...

  5. python高手养成_不要总抱怨它慢了 突破性能瓶颈 找到Python序列筛选数据的最优解...

    在使用Python的过程中,我们经常会碰到这样的需求:得到了大量的序列数据(如元组.列表.字典.集合).但是,我们需要的数据是在序列中符合某一条件的数据,比如:我们从一大堆字符串中找到固定字符数的元素 ...

  6. python高手养成_Python用PyQt5制作颜色对话框,PyQt图形界面编程之QColorDialog

    前几篇内容我们介绍了PyQt5中3种常见的标准弹出对话框. 弹出对话框更加方便人机交流 Qt图形界面编程之QFileDialog类,Python用PyQt5制作文件对话框 如何通过Qt界面设置字体属性 ...

  7. 零基础自学python-零基础如何自学成为Python高手?

    原标题:零基础如何自学成为Python高手? 很多想从事python行业的朋友都会问到,零基础如何自学成为Python高手?根据小北多年教育的经验,我总结了几个小建议,想看干货的请看下文! 1.如何克 ...

  8. 如何自学python-零基础如何自学成为Python高手?

    很多想从事python行业的朋友都会问到,零基础如何自学成为Python高手?目前python非常火,应用非常的广泛,是目前最火的行业职业,竞争力也非常的大,工资也比较高,未来的发展也比较好,但是学习 ...

  9. python常用内置函数乘法_每个 Python 高手都应该知道的内置函数

    每个 Python 高手都应该知道的内置函数 Python 将纳入高中教材,大学 VB 将被 Python 取代, 现在你还对 Python 一无所知吗?去年就被国外一机构预测, 2017 年 pyt ...

  10. 写在《Python高手修炼之道》发行之前:选择一本好书,即是少走弯路

    一门编程语言,总有一些独一无二的特质,不会随着语言的演变而改变,我们姑且称其为语言的DNA.一本介绍编程语言的书,如果能够捕捉到这门语言的DNA,并准确传达给读者,那就称得上是一本好书.选择一本好书, ...

最新文章

  1. spring异常Unsatisfied dependency expressed through constructor parameter 0
  2. 读----------空乏的估算
  3. iOS 分类添加属性
  4. yolov3安卓实现_YOLOv3 的 TensorFlow 实现,GitHub 完整源码解析
  5. 教你玩转CSS Overflow
  6. 23种设计模式----------建造者模式
  7. Atcoder Contest069F:Flag
  8. Docker学习总结(62)——docker-compose.yml 详细说明
  9. unity3d android 实时阴影,Unity移动端实时阴影绘制
  10. AsyncTask更新UI线程的基本原理
  11. collections.OrderedDict()
  12. linux共享文件丢失,linux基础应用(NFS文件共享)
  13. 服务器 'XXXXXX' 上的 MSDTC 不可用。解决方法
  14. 【软考系统架构设计师】复盘架构设计师真题知识点第二十五章---企业信息化战略
  15. 苹果截屏快捷键_几招Mac快捷键技巧
  16. 贝叶斯法则与先验后验概率以及似然度的关系
  17. 萌新改代码系列(一)--VINS+GPS
  18. java编写邮箱地址、邮箱验证
  19. web项目打war包方法 两步解决(极其简单方便)
  20. 请求后台时对uri进行编码——即encodeURIComponent()的使用

热门文章

  1. 目录2. 计算机 13. 计算机智能 24. 软件 25. 操作系统 36. 互联网 37. 软件产业 38. 软件演示 49. 软件专利 410. 复杂性 411. 易用性
  2. Atitit 可视化技术体系题 目录 1. 1. 可视化分类 1 1 1.1. 1.1. 层次可视化 金字塔等 层次降为3层归类可视化 1 1 1.2. 1.2. 高层可视化 鸟瞰可视化 1 1 1
  3. Atitit Kafka 使用总结 内容 Kafka2.0 50M1 启动 要启动zookeeper 先,比ativemp麻烦很多啊1 Kafka生产者 1 Kafka消费者2 2
  4. Atitit mybatis3 注解模式使用总结 目录 1. mybatisdemo 1 1.1. /ormMybatis3demo/src/db.properties 1 1.2. /ormMyb
  5. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结
  6. paip.提升效率----几款任务栏软件
  7. 大平台时代到来 基金电商寻求突围
  8. 马上上线!谷歌与苹果联手抗疫,打造基于蓝牙设备的接触史回溯 | 凌云时刻...
  9. java boolean byte_java基础boolean类型所占字节问题
  10. 【图像重建】基于matlab卷积神经网络的图像超分辨率重建【含Matlab源码 1816期】