【Easy Python】最终话:重回首知识点,让python真正easy!

前言

Easy Python终于来到完结,我的领导也夸奖我写作非常的卖力用心。对此,我深表欣慰!

六章Python讲解,并不单纯是切磋代码技艺,而更是注重于每一行代码背后发生的事儿

为此,让我们一起重回首Easy Python系列,光荣收尾吧!

回顾

第一话:print(‘HelloWorld’)——输入、输出与函数

HelloWorld,是代码世界的入口。当我们采用Python语言打下print(‘HelloWorld’)的一刻,是否想过print——这个函数,到底表示什么呢?到底能怎么用呢?

这个话题就可以衍生到“函数”(功能模块)相关的话题。把一个大的程序进行过程解耦,我们可以分解之为小的功能模块。每一个模块都有相应的输入与输出,这样就把整一个程序串起来了。

在第一话,我们提到的知识有:

  • 函数与过程(function & process)
  • 输入&参数&关键字/无关键字参数(input, arguments, *args & **kwargs)
  • 输出&返回(output & return)

第二话:映射——输入、输出与函数的纽带

映射代表了输入与输出的关系,而函数则实现了映射。在我们日常码码中,如果能用映射的方式表示一段程序,能够增强代码的可读性

在第二话,我们提到的知识有:

  • 映射(mapping)
  • 字典及其映射实现(dict & hash)
  • 函数式编程&python示例(functional programming with its example)

第三话:爬虫初探——玩转豆瓣二百五(上)

python在数据分析方面的应用非常广泛。在网上有非常多的爬虫教程,然而爬虫背后到底干了什么,我们却不易知晓。

同样,豆瓣top250电影的信息爬取也是许多同学的入门之径。Easy Python也是一样,采用上下两话介绍豆瓣250的python爬虫——爬什么,怎么爬,为什么这么爬——所有的一切,全部浓缩成精华。

在第三话,我们抓取了top250电影的链接,所涉及到的知识有:

  • 网络基础:HTTP、URL、协议、状态码等(HTTP, URL, Protocol, Status Code, Resources, etc)
  • HTML网页与BeautifulSoup解析(HTML page & BeautifulSoup Parser)
  • Chrome开发者模式(Chrome Developer Mode)

第四话:爬虫初探——玩转豆瓣二百五(下)

豆瓣二百五的下篇相对于上篇,爬取了每一个电影链接中的具体电影信息。从编程角度而言,涉及的知识面就更广了:

  • 异步并发调度与asyncio库(asynchronous programming & asyncio usage)
  • 阻塞与非阻塞任务(blocking & non-blocking tasks)
  • 爬虫代理池&生产者——消费者调度(proxy pool & producer-consumer model)
  • 条件变量及其等待&唤醒机制(condition variable & wait-notify mechanism)

注重代码工程化(强迫症)的同学们,千万不要错过~

第五话:小试scikit-learn数据挖掘——newsgroup数据处理与文本分类

第五话对数据处理&文本分析的基本操作做了讲解,简要地介绍了文本分类的概念与操作,并且打通了Python的机器学习库与我们自己的数据。

在这一话中,涉及到的知识有:

  • 数据挖掘,机器学习&文本分类(data-mining, machine-learning & text-classification)
  • 正则表达式(regular expression)
  • scikit-learn文本分类流水线(pipeline of text-classification via scikit-learn)

第六话:multiprocessing——Python多进程并行

第六话,讲述了许多同学所关心,踩坑较多的并发编程,剖析了其中原理,并用python实现多任务并行操作。在这方面有疑惑的同学们,千万不要错过!

在这一话中,涉及到的知识有:

  • 并发&并行任务(concurrent & parallel tasks)
  • 线程、进程的特性与关系(features & relations of thread & process)
  • 多线程&多进程(multi-threading & multi-processing)
  • python进程资源共享(shared data on pythonic-multi-processing)
  • 客户端/服务器模式与tornado框架(C/S model & tornado framework)

总结

从编程爱好者们的角度评价python的话,就好比CSGO玩家评价P90这把武器——“noob gun”,是个人都能上手用起来,太TM简单了。

但是,python的easy仅限于上手容易吗?相对于python,lua对新人那是更加友好,就连我家那笨笨的领导,都说lua看的比python容易。

python简单的意义在于背后强大的社区一直不断地推动着python的轮子,使得我们在各个场景都有轻松驰骋的可能。大多数情况下,我们并不追求完美的质量,但求快速实现基本的操作,那就选择python吧!

Easy Python, lemon squeezy~

版权声明
本文为博客HiKariのTechLab原创文章,转载请标明出处,谢谢~~~