分享本合集的意图
去年我在使用 Medium 平台时,只用它来读别人写的文章,也就是在消费内容,从而读了一大堆关于 Python 的文章。最近,我开始使用该平台的社区功能,例如去关注别的开发者。我也学会了如何给别人的文章点赞,并将这些文章中最有趣部分的标注出来。我的目标是成为 Medium 平台开发者社区中的活跃成员。
我还意识到,既然在平台上读了这么多精彩的内容,我有义务对社区做一些回馈。这是我创作我的第一篇文章“我们为何需要 Python 环境,以及如何用 Conda 管理 Python(原标题:Why you need Python environments and how to manage them with Conda,的主要意图之一。
在本文中,我想要向你分享 从去年至今我发现的最有趣、最深刻、最有启发性的文章。 我的另一个目标是创建一个系统、全面的列表,为 Python 学员们记录最有价值的内容。
本文索引
我收藏了非常多精彩的资源,很难说哪一个是最好的。因此,我将这些文章分为 10 类——顺便一提,这也恰好反映出 Python 的多用途、多目标的性质。
这些类别如下:
-
Python 常规编程
-
Python 性能优化
-
Python 开发环境及 DevOps
-
图像与视频处理
-
聊天机器人与自然语言处理(NLP)
-
Web 与后端开发
-
Web 爬虫
-
数据可视化
在你正式开始阅读之前,我还要再啰嗦一句:你应该怎样利用这篇文章呢?你并不需要一口气将本文读完。你只需收藏本文,然后将其作为入门教程或参考手册。有了上面的分类,你可以直接跳到你最感兴趣的部分。
如果我这篇文章有任何的遗漏,或是你有其他好的资源推荐,欢迎留言,以便于我升级本文内容。在此谢过了!
1. Python 常规编程 1.1 学习 Python:从入门到精通
此文是一个全面的 Python 介绍。如果你初学 Python,那么这篇文章是必读的。文章介绍了 Python 的基础知识:变量、控制流、循环及迭代、集合类、数组、结构体、字典等等。此文也涵盖了面向对象编程的基础。因此,如果你刚刚开始学习 Python 开发,那么从此文开始读起是最合适的。
Learning Python: From Zero to Hero
1.2 理解 Python 中的下划线( _ )
你是否了解 Python 中下划线 ( _ ) 的特殊含义呢?Python 中的下划线有五种不同用法。阅读这篇文章学习一下吧!
Understanding the underscore( _ ) of Python
1.3 Python3.7 数据类(data classes)简介
数据类(data classes)是 Python3.7 中的一个全新的特性。当需要创建特定数据域的类时,数据类可以大大简化模型。这篇文章为数据类提供了一个通俗易懂的解释,并给出了几个例子。
A brief tour of Python 3.7 data classes
1.4 如何使用 Python3.6 中的静态类型检查
Python3.6 中有声明类型的语法。但是你需要使用外部工具,如 mypy 或 PyCharm,来强制类型检查。这篇文章非常适合入门学习如何在你的代码中实现静态类型。
How to Use Static Type Checking in Python 3.6
1.5 如何及为何使用 Python 生成器
该教程展示了一个迭代器类(itertor class)的例子,并讲解了各种不同的生成器函数(generator functions)。
“生成器函数允许你声明一个具有迭代器功能的函数。使用生成器函数,程序员可以快速、便利、简洁地构建迭代器。”
“迭代器指的是可在其上迭代(循环)的对象,其作用是为数据抽象出一个容器,使其表现出与迭代对象类似的功能。你可能在日常开发中已经不知不觉使用了一些迭代对象,如字符串、列表、字典等等。”
How — and why — you should use Python Generators
1.6 Python 线程和进程简介
这篇文章和接下来的一篇(1.7)讲解了 Python 中的多线程和并行处理的相关知识。这一篇简介了 Python 的有关进程和线程的并行处理特性,下一篇文章介绍了更多高级知识。
Intro to Threads and Processes in Python
1.7 Python 线程同步
本文很好地概览了多线程及其最复杂部分:线程同步及通信。
Let's Synchronize Threads in Python
1.8 在数据科学领域中如何编写产品级的代码
本文给出了一些数据科学领域编写产品级别代码的建议。这些建议有助于组织、优化你的代码。文章包含许多主题,包括日志、instrumentation 及测试,介绍了版本控制的基础知识,并就代码可靠性给出了若干建议。文章中的建议很中肯,而且很有实用价值。
How to write a production-level code in Data Science?
1.9 如何在 Pandas 中重写 SQL 查询
如果你刚刚入门 Pandas 和 DataFrames,并对 SQL 理解得比较到位,那么我强烈建议你阅读这篇文章。这篇文章整理了一个珍贵的术语库,并附有样例。文章可以帮助你将 SQL 查询需求转换为 Pandas 语法并学习使用这一新语法。
How to rewrite your SQL queries in Pandas
2. Python 性能优化 2.1 是的,Python 很慢,但我不在乎