从入门到进阶,史上最全Python精华文章合集

2018 年 4 月 27 日 AI前线 python

作者 | Gergely Szerovay
译者 | 李志
编辑 | Emily
AI 前线导读:本文是原作者收集到的 Python 经典文章合集。作者将收集到的文章分为十类,方便读者索引,并对每篇文章做了简短介绍,最后给出原文链接。本文适合收藏作为参考手册使用。

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)
分享本合集的意图

去年我在使用 Medium 平台时,只用它来读别人写的文章,也就是在消费内容,从而读了一大堆关于 Python 的文章。最近,我开始使用该平台的社区功能,例如去关注别的开发者。我也学会了如何给别人的文章点赞,并将这些文章中最有趣部分的标注出来。我的目标是成为 Medium 平台开发者社区中的活跃成员。

我还意识到,既然在平台上读了这么多精彩的内容,我有义务对社区做一些回馈。这是我创作我的第一篇文章“我们为何需要 Python 环境,以及如何用 Conda 管理 Python(原标题:Why you need Python environments and how to manage them with Conda,链接:

https://medium.freecodecamp.org/why-you-need-python-environments-and-how-to-manage-them-with-conda-85f155f4353c)”的主要意图之一。

在本文中,我想要向你分享 从去年至今我发现的最有趣、最深刻、最有启发性的文章。 我的另一个目标是创建一个系统、全面的列表,为 Python 学员们记录最有价值的内容。

本文索引

我收藏了非常多精彩的资源,很难说哪一个是最好的。因此,我将这些文章分为 10 类——顺便一提,这也恰好反映出 Python 的多用途、多目标的性质。

这些类别如下:

  1. Python 常规编程

  2. Python 性能优化

  3. Python 开发环境及 DevOps

  4. 机器学习

  5. 图像与视频处理

  6. 聊天机器人与自然语言处理(NLP)

  7. 区块链

  8. Web 与后端开发

  9. Web 爬虫

  10. 数据可视化

在你正式开始阅读之前,我还要再啰嗦一句:你应该怎样利用这篇文章呢?你并不需要一口气将本文读完。你只需收藏本文,然后将其作为入门教程或参考手册。有了上面的分类,你可以直接跳到你最感兴趣的部分。

如果我这篇文章有任何的遗漏,或是你有其他好的资源推荐,欢迎留言,以便于我升级本文内容。在此谢过了!

1. Python 常规编程
1.1 学习 Python:从入门到精通,作者 TK

此文是一个全面的 Python 介绍。如果你初学 Python,那么这篇文章是必读的。文章介绍了 Python 的基础知识:变量、控制流、循环及迭代、集合类、数组、结构体、字典等等。此文也涵盖了面向对象编程的基础。因此,如果你刚刚开始学习 Python 开发,那么从此文开始读起是最合适的。

Learning Python: From Zero to Hero

https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567


1.2 理解 Python 中的下划线( _ ),作者 mingrammer

你是否了解 Python 中下划线 ( _ ) 的特殊含义呢?Python 中的下划线有五种不同用法。阅读这篇文章学习一下吧!

Understanding the underscore( _ ) of Python

https://hackernoon.com/understanding-the-underscore-of-python-309d1a029edc


1.3 Python3.7 数据类(data classes)简介,作者 Anthony Shaw

数据类(data classes)是 Python3.7 中的一个全新的特性。当需要创建特定数据域的类时,数据类可以大大简化模型。这篇文章为数据类提供了一个通俗易懂的解释,并给出了几个例子。

A brief tour of Python 3.7 data classes

https://hackernoon.com/a-brief-tour-of-python-3-7-data-classes-22ee5e046517


1.4 如何使用 Python3.6 中的静态类型检查,作者 Adam Geitgey

Python3.6 中有声明类型的语法。但是你需要使用外部工具,如 mypy 或 PyCharm,来强制类型检查。这篇文章非常适合入门学习如何在你的代码中实现静态类型。

How to Use Static Type Checking in Python 3.6

https://medium.com/@ageitgey/learn-how-to-use-static-type-checking-in-python-3-6-in-10-minutes-12c86d72677b


1.5 如何及为何使用 Python 生成器,作者 Radu Raicea

该教程展示了一个迭代器类(itertor class)的例子,并讲解了各种不同的生成器函数(generator functions)。

“生成器函数允许你声明一个具有迭代器功能的函数。使用生成器函数,程序员可以快速、便利、简洁地构建迭代器。”

“迭代器指的是可在其上迭代(循环)的对象,其作用是为数据抽象出一个容器,使其表现出与迭代对象类似的功能。你可能在日常开发中已经不知不觉使用了一些迭代对象,如字符串、列表、字典等等。”

How — and why — you should use Python Generators

https://medium.freecodecamp.org/how-and-why-you-should-use-python-generators-f6fb56650888


1.6 Python 线程和进程简介,作者 Brendan Fortuner

这篇文章和接下来的一篇(1.7)讲解了 Python 中的多线程和并行处理的相关知识。这一篇简介了 Python 的有关进程和线程的并行处理特性,下一篇文章介绍了更多高级知识。

Intro to Threads and Processes in Python

https://medium.com/@bfortuner/python-multithreading-vs-multiprocessing-73072ce5600b


1.7 Python 线程同步,作者 Saurabh Chaturvedi

本文很好地概览了多线程及其最复杂部分:线程同步及通信。

Let's Synchronize Threads in Python

https://hackernoon.com/synchronization-primitives-in-python-564f89fee732


1.8 在数据科学领域中如何编写产品级的代码,作者 Venkatesh Pappakrishnan, Ph.D.

本文给出了一些数据科学领域编写产品级别代码的建议。这些建议有助于组织、优化你的代码。文章包含许多主题,包括日志、instrumentation 及测试,介绍了版本控制的基础知识,并就代码可靠性给出了若干建议。文章中的建议很中肯,而且很有实用价值。

How to write a production-level code in Data Science?

https://towardsdatascience.com/how-to-write-a-production-level-code-in-data-science-5d87bd75ced


1.9 如何在 Pandas 中重写 SQL 查询,作者 Irina Truong

如果你刚刚入门 Pandas 和 DataFrames,并对 SQL 理解得比较到位,那么我强烈建议你阅读这篇文章。这篇文章整理了一个珍贵的术语库,并附有样例。文章可以帮助你将 SQL 查询需求转换为 Pandas 语法并学习使用这一新语法。

How to rewrite your SQL queries in Pandas

https://codeburst.io/how-to-rewrite-your-sql-queries-in-pandas-and-more-149d341fc53e


2. Python 性能优化
2.1 是的,Python 很慢,但我不在乎,作者 Nick Humrich

Python 开发者们很高产,但大家应该都听说过这件事:Python 很慢。我觉得这篇文章很有必要一读,因为它介绍了 Python 的性能优化特性。

“运行时间已经不再是你最珍贵的资源了。如今,一家公司最昂贵的资源是其员工的时间。”

Yes, Python is Slow, and I Don't Care

https://hackernoon.com/yes-python-is-slow-and-i-dont-care-13763980b5a1


2.2 Pandas 代码速度优化新手导引,作者 Sofia Heisler

如果你需要用 Pandas 处理海量数据,你便需要格外注意编码方式,以求性能最优化。

本篇及下一篇文章回顾了在 Pandas DataFrame 下实现函数的几种方法,并对比了他们的运行速度。

A Beginner's Guide to Optimizing Pandas Code for Speed

https://engineering.upside.com/a-beginners-guide-to-optimizing-pandas-code-for-speed-c09ef2c6a4d6


2.3 Python 中的数据预处理:我为何偏爱用 Dask 和 Numba 实现并行,作者 Ernest Kim

在 Pandas DataFrame 下实现函数的另外一些方法。这些方法利用并行来获取更快的速度。

Data Pre-Processing in Python: How I learned to love parallelized applies with Dask and Numba

https://towardsdatascience.com/how-i-learned-to-love-parallelized-applies-with-python-pandas-dask-and-numba-f06b0b367138


2.4 Python 中并行 IO 操作的内存效率,作者 Jakub Wolf

本文比较了三种并行 IO 操作方法的内存效率。最新的方法是使用 asyncio 模块。该模块是 Python 3.5 及以上版本的 Python 标准库的一部分。如果你希望你的代码既性能好又内存占用小,那么你很适合读一下这篇文章。

Memory efficiency of parallel IO operations in Python

https://code.kiwi.com/memory-efficiency-of-parallel-io-operations-in-python-6e7d6c51905d


2.5 将 Regex 的运行时间从 5 天降至 15 分钟,作者 Vikash Singh

这篇文章讲解了如何使用 Aho-Corasick 算法和字典树数据结构在海量数据中进行搜索和替换关键字。这种巧妙的操作令我十分惊叹。

Regex was taking 5 days to run. So I built a tool that did it in 15 minutes

https://medium.freecodecamp.org/regex-was-taking-5-days-flashtext-does-it-in-15-minutes-55f04411025f


2.6 在 Instagram 上解除 Python 的垃圾回收,作者 Instagram Engineering

这篇文章展示了多进程 Python 应用的一个高级优化技术。

Dismissing Python Garbage Collection at Instagram

https://engineering.instagram.com/dismissing-python-garbage-collection-at-instagram-4dca40b29172


2.7 使用 Python 处理每秒百万的请求,作者 Paweł Piotr Przeradowski

介绍了一个速度奇快的新型微服务框架:Japronto。

A million requests per second with Python

https://medium.freecodecamp.org/million-requests-per-second-with-python-95c137af319


3. Python 开发环境及 DevOps
3.1 Windows/Mac/Ubuntu 平台 PyCharm 及 Anaconda 安装教程,作者 Michael Galarnyk

这个教程很适合新手入门。该教程总结了 PyCharm 和 Anaconda 的安装过程,并含有一个十分钟左右的视频,向你展示安装的详细步骤。

Install PyCharm and Anaconda (Windows/Mac/Ubuntu)

https://medium.com/@GalarnykMichael/setting-up-pycharm-with-anaconda-plus-installing-packages-windows-mac-db2b158bd8c


3.2 Docker 教程——Python,Redis 及 Nginx 入门,作者 Roman Gaponov

这篇文章讲解了如何在软件开发过程中使用 Docker。对于新手是一个很好的入门教程。

Docker 是一个开源工具,可在软件容器内部自动部署应用。

Docker Tutorial — Getting Started with Python, Redis, and Nginx

https://hackernoon.com/docker-tutorial-getting-started-with-python-redis-and-nginx-81a9d740d091


3.3 如何在 Python 的 Web 应用中编写 Docker 文件,作者 Praveen Durairaj

本文是个非常好的教程,附有示例 Docker 文件——如果你在使用 Docker 开发 Python Web 应用,那么这篇文章值得一看!

How to write Dockerfiles for Python Web Apps

https://blog.hasura.io/how-to-write-dockerfiles-for-python-web-apps-6d173842ae1d


3.4 三分钟入门 PySpark 及 Jupyter Notebook,作者 Charles Bochet

Apache Spark 是一个大型数据处理引擎,可以通过 PySpark 库在 Python 中使用。在大数据和机器学习领域,该库是一个优秀的原型构建工具。这篇文章可作为在 Python 中使用 Spark 的入门教程。

Get Started with PySpark and Jupyter Notebook in 3 Minutes

https://blog.sicara.com/get-started-pyspark-jupyter-guide-tutorial-ae2fe84f594f


3.5 JupyterLab 初探,作者 Brian Ray

对于 Python 程序员来说,Jupyter 是一个必不可少的工具。这篇文章很好地介绍了 Jupyter 的最新版本。

JupyterLab first impressions

https://medium.com/@brianray_7981/jupyterlab-first-impressions-e6d70d8a175d


4. 机器学习
4.1 Python 机器学习最佳实践指南,作者 Conor Dewey

这篇文章采用展示示例代码和视频的形式,讲解了八大机器学习算法:线性回归,逻辑回归,决策树,支持向量机,K 近邻,随机森林,K-Means 聚类及主成分分析。这是我最喜欢的文章之一,初学者必读。

The Hitchhiker's Guide to Machine Learning in Python

https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378


4.2 数学苦手的 AI 学习系列指南,作者 Daniel Jeffries

本系列共 7 篇文章非常精彩(感谢作者 Daniel Jeffries 的贡献!)。只看标题就可以知道:不擅长数学不代表你学不懂人工智能原理!试一试吧——真的很值得一读!

你数学学得很烂。

没关系!我也有你这样的小尴尬,于是我找了一些有用的书籍和网站,帮助你快速学习进步。

Learning AI if You Suck at Math —— Part 1

https://hackernoon.com/learning-ai-if-you-suck-at-math-8bdfb4b79037

Learning AI if You Suck at Math —— Part 2 —— Practical Projects

https://hackernoon.com/learning-ai-if-you-suck-at-math-part-two-practical-projects-47d7a1e4e21f

Learning AI if You Suck at Math —— Part 3 —— Building an AI Dream Machine or Budget Friendly Special

https://hackernoon.com/learning-ai-if-you-suck-at-math-p3-building-an-ai-dream-machine-or-budget-friendly-special-d5a3023140ef

Learning AI if You Suck at Math —— Part 4 —— Tensors Illustrated (with Cats!)

https://hackernoon.com/learning-ai-if-you-suck-at-math-p4-tensors-illustrated-with-cats-27f0002c9b32

Learning AI if You Suck at Math —— Part 5 —— Deep Learning and Convolutional Neural Nets in Plain English

https://hackernoon.com/learning-ai-if-you-suck-at-math-p5-deep-learning-and-convolutional-neural-nets-in-plain-english-cda79679bbe3

Learning AI if You Suck at Math —— Part 6 —— Math Notation Made Easy!

https://hackernoon.com/learning-ai-if-you-suck-at-math-p6-math-notation-made-easy-1277d76a1fe5

Learning AI if You Suck at Math —— Part 7 —— The Magic of Natural Language Processing

https://hackernoon.com/learning-ai-if-you-suck-at-math-p7-the-magic-of-natural-language-processing-f3819a689386


4.3 机器学习从入门到精通:超详细 Kaggle 比赛完成步骤,作者 Oren Dar

参与 Kaggle 比赛是一个提升机器学习技术的绝佳方式。该教程向你展示了如何解决一个 Kaggle 上的机器学习问题,并向比赛提交你的结果。

Machine Learning Zero-to-Hero: Everything you need in order to compete on Kaggle for the first time

https://towardsdatascience.com/machine-learning-zero-to-hero-everything-you-need-in-order-to-compete-on-kaggle-for-the-first-time-18644e701cf1


4.4 TensorFlow 高级 API,作者 Peter Roelants

TensorFlow 1.3 介绍了三种新的高级框架:Estimator,Experiment 和 Dataset。这篇文章讲解了这三种框架,并给出了使用样例。

Higher-Level APIs in TensorFlow

https://medium.com/onfido-tech/higher-level-apis-in-tensorflow-67bfb602e6c0


4.5 部署 TensorFlow 模型,作者 Francesco Zuppichini

这篇教程讲解了如何使用 Flask 和 TensorFlow serving 使你的 TensorFlow 模型可以从 web 上访问。

现在你有一个模型,你希望能从 web 上访问它。实现这一功能的方法有好几种,但最快、最健壮的方法就是使用 TensorFlow serving。

Deploy TensorFlow models

https://towardsdatascience.com/deploy-tensorflow-models-9813b5a705d5


4.6 简洁多样 Python 线性回归,作者 Adi Bronshtein

线性回归是在因变量和一个或多个独立变量之间建立线性关系的方法。它是机器学习领域中应用最广泛的算法之一。

这篇文章讲解了线性回归的数学基础,然后给出了使用 Python Statsmodels 和 Scikit-Learn 库的例子。如果你是一个新手,我强烈建议你阅读这篇文章。

Simple and Multiple Linear Regression in Python

https://towardsdatascience.com/simple-and-multiple-linear-regression-in-python-c928425168f9


4.7 使用降维技术约减维数,作者 Elior Cohen

在这篇文章中,Elior 讲解了三种维数约减方法:主成分分析(PCA),t-SNE 和自编码器。

“我们对于维度约减的需求常常与可视化相关(将维度约减为 2-3 维以供作图),但也不全是这样。有时候我们可能会对性能要求较高,可以忍受一些精度上的牺牲。这样,我们就能将 1,000 维的数据约减到 10 维,从而更快地操作这些数据(比如计算距离)。”

Reducing Dimensionality from Dimensionality Reduction Techniques

https://towardsdatascience.com/reducing-dimensionality-from-dimensionality-reduction-techniques-f658aec24dfe


4.8 Python 中的随机森林,作者 William Koehrsen

这份教程介绍了使用随机森林解决机器学习问题的详细步骤。该文讲解得十分细致,从数据的准备和清洗,到模型的构建和改进,再到最后的结果可视化。十分值得一读。

Random Forest in Python

https://towardsdatascience.com/random-forest-in-python-24d0893d51c0


4.9 一步一步构建 Python 逻辑回归模型,作者 Susan Li

在机器学习领域中,需要学习的概念有很多。其中之一便是逻辑回归。这篇文章提供了一个良好的起点,我已经给我的学员们推荐了好几次了。

“逻辑回归是一种机器学习分类算法,用来预测因变量所属类别的概率。在逻辑回归中,因变量是一个二元变量,其数据值为 1(表示‘是’‘成功’等等)或 0(表示‘否’‘失败’等等)。”

Building A Logistic Regression in Python

https://towardsdatascience.com/building-a-logistic-regression-in-python-step-by-step-becd4d56c9c8


4.10 理解特征工程,作者 Dipanjan Sarkar

该系列教程介绍了特征工程。特征工程是数据科学家最重要的任务之一。特征工程的本质是什么?下面引述了一个经典的解释:

“提出特征是非常困难、耗时的,需要专家级别的知识。‘应用机器学习’本质上就是特征工程。”

——Andrew Ng. 教授

Understanding Feature Engineering (Part 1) —— Continuous Numeric Data

https://towardsdatascience.com/understanding-feature-engineering-part-1-continuous-numeric-data-da4e47099a7b

Understanding Feature Engineering (Part 2) —— Categorical Data

https://towardsdatascience.com/understanding-feature-engineering-part-2-categorical-data-f54324193e63

Understanding Feature Engineering (Part 3) —— Traditional Methods for Text Data

https://towardsdatascience.com/understanding-feature-engineering-part-3-traditional-methods-for-text-data-f6f7d70acd41

Understanding Feature Engineering (Part 4) —— Deep Learning Methods for Text Data

https://towardsdatascience.com/understanding-feature-engineering-part-4-deep-learning-methods-for-text-data-96c44370bbfa


4.11 数据科学家必备的十种机器学习算法,作者 Shashank Gupta

这篇文章展示了十种实用的机器学习算法,解释了其基本概念,并推荐了入门级的 Python 库和介绍教程。

Ten Machine Learning Algorithms You Should Know to Become a Data Scientist

https://towardsdatascience.com/ten-machine-learning-algorithms-you-should-know-to-become-a-data-scientist-8dc93d8ca52e


4.12 机器学习公开课主题 1:用 Pandas 进行探索性数据分析,作者 Yury Kashnitskiy

我爱好知识共享,而 OpenDataScience 的机器学习课程是一个很好的资源。如果你对这个系列感兴趣,你可以从这篇文章的开头找到课程的所有主题。

Open Machine Learning Course. Topic 1. Exploratory Data Analysis with Pandas

https://medium.com/open-machine-learning-course/open-machine-learning-course-topic-1-exploratory-data-analysis-with-pandas-de57880f1a68


4.13 Python 时间序列分析导论,作者 William Koehrsen

本文是很好的时间序列分析的入门文章。文中包含了一个评估 Tesla 和 GM 股价的例子,还用 Facebook Prophet 包构建了一个预测模型。

Time Series Analysis in Python: An Introduction

https://towardsdatascience.com/time-series-analysis-in-python-an-introduction-70d5a5b1d52a


5. 图像与视频处理
5.1 如何用 Python 深度学习实现 iPhone X 的 FaceID,作者 Norman Di Palo

FaceID 的实现算法是苹果公司的专利产品。这篇文章分析了 FaceID 可能的工作原理,并使用 Siamese 卷积网络给出了一个 FaceID 的实现,对概念加以验证。

How I implemented iPhone X's FaceID using Deep Learning in Python

https://towardsdatascience.com/how-i-implemented-iphone-xs-faceid-using-deep-learning-in-python-d5dbaa128e1d


5.2 用 TensorFlow 跟踪千年隼号,作者 Nick Bourdakos

根据这个教程,你可以学到如何使用 TensorFlow 在 COCO 数据集上搭建自己的物体识别引擎。

Tracking the Millennium Falcon with TensorFlow

https://medium.freecodecamp.org/tracking-the-millenium-falcon-with-tensorflow-c8c86419225e


5.3 使用深度学习优化 FIFA 18 图像质量,作者 Chintan Trivedi

近日,人们提出了用深度神经网络换脸的概念。Deepfakes 是这一领域最有名的算法之一。该算法甚至被用于一些主流媒体中。

这篇文章展示了换脸算法如何应用在游戏行业中,并解释了该算法的基本原理。我相信我们从中可以得出这样一个结论:深度学习几乎可以被应用到任何行业 / 领域中。

Using Deep Learning to improve FIFA 18 graphics

https://towardsdatascience.com/using-deep-learning-to-improve-fifa-18-graphics-529ec44ea37e


5.4 Google 计算引擎上的 Keras 深度学习,作者 Cole Murray

我对图像识别的概念很感兴趣。这篇文章采用了“边做边学”的思想,主要讲述了构建以下两个应用的详细步骤:

  • 一个基于 Flask 的 web 应用,与基于 Keras 的图像识别系统相连

  • 一个基于 Google 云存储的图像存储系统

Deep Learning with Keras on Google Compute Engine

https://medium.com/google-cloud/keras-inception-v3-on-google-compute-engine-a54918b0058


5.5 用基于 Keras 和 TensorFlow 的迁移学习和调优构建图像识别系统,分类(几乎)任意物体,作者 Greg Chu

通过使用相似任务的预训练网络,你可以让自己的卷积神经网络训练速度更快。

“众所周知,卷积网络的训练需要消耗大量数据和资源。例如,ImageNet ILSVRC 模型的训练使用了 120 万张图片、多个 GPU,耗时长达 2-3 周。”

How to use transfer learning and fine-tuning in Keras and Tensorflow to build an image recognition system and classify (almost) any object

https://deeplearningsandbox.com/how-to-use-transfer-learning-and-fine-tuning-in-keras-and-tensorflow-to-build-an-image-recognition-94b0b02444f2


6. 聊天机器人与自然语言处理(NLP)
6.1 机器学习与自然语言处理:基于 scikit-learn、Python 和 NLTK 的文本分类,作者 Javed Shaikh

文本分类是自然语言处理中的基本概念之一。这篇教程介绍步骤如下:

  • 准备工具及配置环境

  • 在 jupyter 中载入数据集

  • 从文本文件中抽取特征

  • 运行机器学习算法

  • 参数优化的网格搜索

  • 实用技巧和 NLTK 简介

Machine Learning, NLP: Text Classification using scikit-learn, python and NLTK

https://towardsdatascience.com/machine-learning-nlp-text-classification-using-scikit-learn-python-and-nltk-c52b92a7c73a


6.2 使用神经网络进行文本分类,作者 gk_

这篇文章讲解了文本分类的工作原理,并演示了如何用两层神经网络实现文本分类。

Text Classification using Neural Networks

https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6


6.3 用 TensorFlow 实现上下文聊天机器人,作者 gk_

这篇文章介绍了如何将对话内容定义转换为 TensorFlow 模型,以及如何据此搭建聊天机器人框架。

Contextual Chatbots with Tensorflow

https://chatbotsmagazine.com/contextual-chat-bots-with-tensorflow-4391749d0077


6.4 如何创建并部署 Telegram 机器人,作者 Roman Gaponov

通过学习本教程,你可以自己创建一个简单的基于 Telegram 的聊天机器人,并在 Heroku 上部署这个机器人。

How to Create and Deploy a Telegram Bot?

https://hackernoon.com/how-to-create-and-deploy-a-telegram-bot-2addd8aec6b4


6.5 一周搭建无服务器 Telegram 机器人经验分享,作者 Moses Soh

这是另一个基于 Telegram 的聊天机器人的例子。该文章讲解了如何利用 Zappa 工具将机器人部署到 AWS Lambda 平台上。该任务一周就能完成,听起来很有趣,不是吗?:)

I built a serverless Telegram bot over the weekend. Here's what I learned

https://medium.freecodecamp.org/how-to-build-a-server-less-telegram-bot-227f842f4706


7. 区块链
7.1 动手搭建最小区块链,作者 Gerald Nash ⚡️

该系列文章和接下来的一篇文章(7.2)可以帮助你通过搭建一个区块链了解其工作原理。我一直喜欢通过动手做来学,这也是为什么我尤其喜欢这类文章。

Let's Build the Tiniest Blockchain

https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b

文章的第二部分:

Let's Make the Tiniest Blockchain Bigger

https://medium.com/crypto-currently/lets-make-the-tiniest-blockchain-bigger-ac360a328f4d


7.2 通过搭建区块链学习其工作原理,作者 Daniel van Flymen

Learn Blockchains by Building One

https://hackernoon.com/learn-blockchains-by-building-one-117428612f46


8. Web 与后端开发
8.1 使用 Python 和 Flask 搭建 web 应用——深入教程,作者 Abhinav Suri

利用 Python 微框架 Flask 创建 Python 全栈应用的优秀教程。

How to use Python and Flask to build a web app — an in-depth tutorial

https://medium.freecodecamp.org/how-to-use-python-and-flask-to-build-a-web-app-an-in-depth-tutorial-437dbfe9f1c6


8.2 使用 Python 构建微服务,作者 Sergio Sola

这篇文章分为 3 部分。作者是一个软件工程师,正在为一个个人项目搭建微服务。小提示:构建个人项目是提升开发技术的绝佳方式!该系列教程内容如下:

搭建微服务的框架:

Building Microservices with Python, Part 1

https://medium.com/@ssola/building-microservices-with-python-part-i-5240a8dcc2fb

在 Docker 中创建微服务的基础设施:

Building Microservices with Python, Part 2

https://medium.com/@ssola/building-microservices-with-python-part-2-9f951199094a

最后同样重要的,构建微服务的商业逻辑:

Building Microservices with Python, Part 3

https://medium.com/@ssola/building-microservices-with-python-part-3-a556a4c4bc00


8.3 Django ElasticSearch 简明教程,作者 Adam Wattis

ElasticSearch 是实现自由文本搜索的一个优秀的工具。通过学习本教程,你可以构建一个 ElasticSearch 服务器,向其上再如数据,并将其与一个基于 Django 的应用连接起来。

ElasticSearch with Django the easy way

https://medium.freecodecamp.org/elasticsearch-with-django-the-easy-way-909375bc16cb


9. Web 爬虫
9.1 使用 Python 和 BeautifulSoup 爬取网站数据,作者 Justin Yek

BeautifulSoup 是一个抽取 HTML 页面数据的有用工具。这篇文章阐述了其工作原理。

How to scrape websites with Python and BeautifulSoup

https://medium.freecodecamp.org/how-to-scrape-websites-with-python-and-beautifulsoup-5946935d93fe


9.2 用 Scrapy 构建自己的数据集,作者 Michael Galarnyk

利用 Scrapy,你可以下载网站并使用 CSS 选择器从 HTML 页面中抽取数据。这是 web 爬取的一个成熟的解决方案。这篇文章演示了这种机制是如何工作的,并给出了一个从真实网站中爬取数据的例子。

Using Scrapy to Build your Own Dataset

https://towardsdatascience.com/using-scrapy-to-build-your-own-dataset-64ea2d7d4673


9.3 30 分钟构建网络爬虫,作者 Angelos Chalaris

这篇文章解释了如何使用 Selenium webdriver 和 Geckodriver 来打开一个浏览器窗口并用 Python 控制该窗口。

30-minute Python Web Scraper

https://hackernoon.com/30-minute-python-web-scraper-39d6d038e5da


9.4 使用 Python 在 Medium 上找到并关注有趣的人,作者 Radu Raicea

这篇文章为使用 Python 中的 API 提供了一个很好的例子。我相信作者提出了一个重要问题:在疯狂袭来的信息海洋中选择最有用信息是一个很困难的任务。实际上这也就是我创建这篇文章合集供大家参考的原因。

Medium 平台上有大量内容、诸多用户和堆积如山的文章。当你想要寻找最有趣的用户来与之互动时,你常常会被洪水般的视觉噪声所干扰。

How I used Python to find interesting people to follow on Medium

https://medium.freecodecamp.org/how-i-used-python-to-find-interesting-people-on-medium-be9261b924b0



10. 数据可视化
10.1 快速简易 Python 数据可视化 5 例(含代码),作者 George Seif

这篇文章给出了一个非常实用的表格,帮助你根据应用场景选择合适的数据可视化方法。随后,文章深入分析了 6 种数据可视化类型,并给出了使用 Python Matplotlib 的例子,实现了以下内容:两种散点图,线图,柱状图,条形图和箱形图。

5 Quick and Easy Data Visualizations in Python with Code

https://towardsdatascience.com/5-quick-and-easy-data-visualizations-in-python-with-code-a2284bae952f


10.2 使用 Bokeh 进行 Python 数据可视化,作者 William Koehrsen

这一系列文章回答了以下问题:“如何为我们的可视化添加交互功能?”该教程使用 Python,带领你体验完全交互的例子,即 Bokeh 交互可视化库,并附有公共数据集。

Data Visualization with Bokeh in Python, Part I: Getting Started

https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-one-getting-started-a11655a467d4

Data Visualization with Bokeh in Python, Part II: Interactions

https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-ii-interactions-a4cf994e2512

Data Visualization with Bokeh in Python, Part III: Making a Complete Dashboard

https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-iii-a-complete-dashboard-dc6a86aa6e23

以上就是文章合集的所有内容。衷心感谢这些优秀的资源,其中有很多已经为我的 Python 学员们提供了帮助。我在阅读整理的过程中也学到了很多。

如果喜欢本合集,请点赞,以便更多的人能看到这篇文章。如果有任何建议或问题,欢迎留言!

感谢大家的阅读!

最后还要感谢我的妻子 Krisztina Szerovay 为本文设计封面!

本文首发于 Medium 平台 freeCodeCamp,原文链接请点击「阅读原文」。


AI前线
紧跟前沿的AI技术社群


如果你喜欢这篇文章,或希望看到更多类似优质报道,记得给我留言和点赞哦!

登录查看更多
7

相关内容

Python是一种面向对象的解释型计算机程序设计语言,在设计中注重代码的可读性,同时也是一种功能强大的通用型语言。
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
180+阅读 · 2020年1月1日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
【新书】Python编程基础,669页pdf
专知会员服务
194+阅读 · 2019年10月10日
GitHub超2.7万星,最全Python入门算法来了
新智元
5+阅读 · 2019年4月28日
各编程领域最好的入门书籍
程序猿
28+阅读 · 2018年7月29日
直播 | Python+AI:Python 学习者的人工智能入门课
AI研习社
4+阅读 · 2018年5月13日
Python 如何快速入门?
全球人工智能
6+阅读 · 2018年3月15日
自然语言处理(4)之中文文本挖掘流程详解(小白入门必读)
机器学习算法与Python学习
5+阅读 · 2017年12月22日
Python NLP 入门教程
开源中国
14+阅读 · 2017年10月1日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
Single-frame Regularization for Temporally Stable CNNs
Augmentation for small object detection
Arxiv
11+阅读 · 2019年2月19日
Arxiv
5+阅读 · 2018年10月4日
VIP会员
相关VIP内容
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
180+阅读 · 2020年1月1日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
【新书】Python编程基础,669页pdf
专知会员服务
194+阅读 · 2019年10月10日
相关资讯
GitHub超2.7万星,最全Python入门算法来了
新智元
5+阅读 · 2019年4月28日
各编程领域最好的入门书籍
程序猿
28+阅读 · 2018年7月29日
直播 | Python+AI:Python 学习者的人工智能入门课
AI研习社
4+阅读 · 2018年5月13日
Python 如何快速入门?
全球人工智能
6+阅读 · 2018年3月15日
自然语言处理(4)之中文文本挖掘流程详解(小白入门必读)
机器学习算法与Python学习
5+阅读 · 2017年12月22日
Python NLP 入门教程
开源中国
14+阅读 · 2017年10月1日
Top
微信扫码咨询专知VIP会员