[collect]如何成为Python高手


[中文地址:如何成为Python高手 | 外刊IT评论]

[英文原文:How to become a proficient Python programmer ]


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

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

函数式编程

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

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

性能

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

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

测试

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

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

编码规范

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

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

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

祝你学习旅途顺利。

,

《 “[collect]如何成为Python高手” 》 有 6 条评论

    • 我特地去英文原文中找到的对应的地方:

      don’t forget to mention that the second largest search engine in the world is run by Python – namely Youtube(see Python quotes).

      然后去Python quotes中找到:

      “Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers,” said Cuong Do, Software Architect, YouTube.com.

      所以,中文的翻译(直译)是没有问题的,可能作者觉得YouTube不仅仅是表面上看到的视频分享网站,而是一个用Python架构起来的高效视频搜索、整理的引擎,因此这样说。

      谢谢你的指证,也欢迎再次光临~~

  1. Python资源整理合集
    https://weibo.com/ttarticle/p/show?id=2309404200174363762670
    `
    网页框架
      Django
      Flask
      Tornado
    其他Web相关
    用户图形接口相关
    网络相关
    数据库相关
    游戏相关
    开源框架
    大数据与人工智能相关
    网络爬虫
    测试与代码分析审核
    安全与破解相关
    图表及图像相关
    语音相关
    运维相关
    树莓派
    第三方平台
    IDE
    其他库
    博客与播客及书籍文档
    好的文章
    他人总结
    `

  2. Python 爬虫的工具列表大全
    https://mp.weixin.qq.com/s/X9NPFFTHTk62V21o63ceOA
    `
    网络
    网络爬虫框架
    HTML/XML解析器
    文本处理
    特定格式文件处理
    自然语言处理
    浏览器自动化与仿真
    多重处理
    异步
    队列
    云计算
    电子邮件
    网址和网络地址操作
    网页内容提取
    WebSocket
    DNS解析
    计算机视觉
    代理服务器
    其他Python工具列表
    `

  3. Python programs, usually short, of considerable difficulty, to perfect particular skills.
    https://github.com/norvig/pytudes
    `
    # pytudes – 旨在提升/完善特定的Python编程技能的项目

    “An étude (a French word meaning study) is an instrumental musical composition, usually short, of considerable difficulty, and designed to provide practice material for perfecting a particular musical skill.” — Wikipedia

    étude(法语单词,意思是研究)是一种器乐作品,通常较短,难度较大,旨在为完善某一特定音乐技能提供练习材料。——维基百科

    This project contains pytudes—Python programs, usually short, for perfecting particular programming skills.
    这个项目包含 pytudes-Python 程序,通常很短,用于完善特定的编程技能。

    # Who is this for?
    To continue the musical analogy, some people think of programming like Spotify: they want to know how to install the app, find a good playlist, and hit the “play” button; after that they don’t want to think about it. There are plenty of other tutorials that will tell you how to do the equivalent of that for various programming tasks—this one won’t help. But if you think of programming like playing the piano—a craft that can take years to perfect—then I hope this collection can help.

    继续用音乐类比,有些人会想到像Spotify这样的程序:他们想知道如何安装应用程序,找到一个好的播放列表,然后点击“播放”按钮;在那之后,他们就不想去想它了。还有很多其他的教程会告诉你如何在各种编程任务中做同样的事情——这个教程在这些方面不会有帮助。但如果你认为编程就像弹钢琴一样——一门需要数年才能完善的技艺——那么我希望这本合集能有所帮助。
    `

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注