Python社区  »  Python

如何系统学Python?听听Facebook一线工程师怎么说 | 极客时间

InfoQ • 3 月前 • 158 次点击  

前几天, PYPL (即编程语言流行指数,基于 Google 搜索频率而定)出炉了 5 月编程语言排行榜,Python 拿下 NO.1,成为最流行的编程语言。TIOBE 排行榜也显示, Python 的流行度屡创新高,目前排名第四,并保持高速增长。

也难怪,作为大数据和人工智能时代的必备语言,Python 优点颇多,它语言简洁、开发效率高、可移植性强,经过多年的生态建设,Python 有了大量的函数库,尤其在数据分析和科学计算领域。另外,函数在 Python 中是一等公民,所以 Python 同时也是一种函数式编程语言。

为了在大数据和 AI 时代更具竞争力,学 Python 的程序员越来越多,甚至不少人把 Python 当作第一语言来学习。许多人觉得 Python 功能强大还上手轻松,学习曲线也没那么陡峭,得来全不费工夫。但是,推开 Python 的大门你会发现,Python 入门容易但精通很难。看似语法记得滚瓜烂熟,但一进入实际项目,就被打回了原型。

比如,你要去做一个电商后台,存储着每件产品的 ID、名称和价格。现在需要根据商品 ID 找出价格,如何使用最合适的数据结构呢?


在 Python 中字典、集合都是经过高度性能优化的数据结构,如果采用列表来存储数据并进行查找,时间复杂度是多少?


换成字典呢?哪个更高效?事实上,采用不同数据结构存储十万数据,查找速度差异就有可能差出几千倍。


再比如,Python 中的协程和线程有什么区别?


生成器如何进化成协程?


并发编程中的 future 和 asyncio 有什么关系


如何写出线程安全的高性能代码呢?

据我所知,大部分初学者都可能卡在这里,前进无门。但是,我们不得不说,解决这些问题,是一名合格 Python 工程师的基本能力。为了帮助用户从一个初学者进阶为优秀的 Python 工程师,我联合极客时间开设了一个专栏 --《Python 核心技术与实战》,希望能帮你系统地提升 Python 实战编程能力。

专栏中我们不会去纠结某些生僻的知识点,而是从实际出发,以工作中遇到的实例为主线,去讲解 Python 的核心技术和应用。带你从基础语法起步,掌握语言的高级用法,再到项目中进行实战开发,让你把学到知识点通过项目都串联起来,融会贯通,形成自己的 Python 学习框架图。

整个专栏内容是基于 Python 最新的 3.7 版本来讲解,让你告别网上很多陈旧的学习资料。无容置疑,Python 3 才是 Python 的未来。


    扫码,免费试看

我是谁?会讲什么?

我是景霄,Facebook 资深工程师。目前从事机器学习的相关工作,主要工作领域是人工智能的推荐排序系统与算法。我曾领导多个上亿用户级产品的开发与落地,有着丰富的工程与实战经验。加入 Facebook 之前,我分别在哥伦比亚大学计算机系和武汉大学通信工程系(专业第一)获得硕士和学士学位。

在《Python 核心技术与实战》里,我会带你从入门到进阶掌握下面 Python 核心知识点。

 1.Python 基础入门

必学知识:【Python 基础数据结构】【Python 基础语法】【文件操作】【错误与异常处理】【Python 面向对象】【模块化】

第一步,你需要掌握 Python 的核心基础知识。当然,不同于其他基础教材,我不仅仅只讲基础概念、操作,同时也为你整理了很多进阶难度的知识,或是一些重难点、易错点等需要注意的地方。不仅可以让入门级的程序员查漏补缺,打捞基础,也能让有经验的程序员,重新从工程角度认识基础,升华理解。

 2.Python 进阶核心知识

必学知识:【Python 协议】【Python 高级语法】【Python 正则表达式】【Python 并发编程】【垃圾回收机制】【项目实战】

第二步,进阶 Python 核心知识点,比如装饰器、并发编程等等。如果你的工作只是写 100 行以下的脚本程序,可能不怎么会用得到。但如果你做的是大型程序的开发,则非常有必要。

 3. 规范:编写高质量的 Python 程序

这部分着重于教你把程序写得更加规范、更加稳定。我在实际工作中见过不少程序员,会写程序,但写得实在有点“惨不忍睹”,导致最后调试起来错误不断,修改非常费劲儿。因此,我觉得用单独一个版块讲解这个问题非常有必要。

当然,我不会用一些似是而非的规范来说教,而是会用具体的编程操作和技巧,教你提高代码质量。比如,如何合理地分解代码、运用 assert,如何写单元测试等等。

 4.Python 实战,串联整个知识体系:带你搭建量化交易系统

必学知识点:【RESTful】【Socket】【Pandas】【Numpy】【Kafka】【RabbitMQ】【MySQL】【Django】

没上过战场开过枪的人,不可能做主官;没有实战经验的语言学习者,不可能成为高手。这部分,我会通过量化交易系统这个具体的实战案例,带你综合运用前面所学的 Python 知识。

真正要掌握一门编程语言,仅仅学会分散的知识点是不够的,还必须要把知识点串联起来,做一些中型的项目才能有更深的领悟与提高。

另外,专栏里的所有内容都基于 Python 最新的 3.7 版本,其中有大量独家解读、案例,以及不少我阅读源码后的发现和体会。同时,在层次划分上,我希望能难易兼顾,循序渐进。专栏中既有核心的基础知识,也有高级的进阶操作,尽量做到“老少皆宜”。

详细目录


限时订阅福利
  1. 限时优惠 ¥68(原价 ¥99 ),1 场电影的价格带你掌握 Python 核心技术;分享海报,邀请好友订阅即可获得 ¥24 返现,多邀多得,上不封顶,APP 内立即提现。

  2. 订阅专栏后,在留言区里聊聊「你用 Python 来解决什么问题?在工作中有哪些应用?」,点赞第一名,可获得极客时间 ¥99 任意课程,活动截止 5 月 9 日 18:00。

  3. 另外,新用户还能获得 5 元优惠券,购买专栏更便宜。


       扫码,免费试看


  1. 极客时间充值金额限时膨胀,充 100 元得 120 元,多充多得。

点「阅读原文」,立享充 100 元得 120 元,买课更省钱。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/32765
 
158 次点击  
分享到微博