讲师介绍:石璞东,计算机硕士,人民邮电出版社签约作者,《智能前端技术与实践》作者,百度飞桨领航团金牌团长,阿里云乘风者计划专家博主
考试科目:883 《C程序设计》(第五版)谭浩强,清华大学出版社
参考资料:《C程序设计(第五版)》谭浩强
# 前言
你好,我是石璞东。
想必你已经知道了Python这门编程语言的火爆程度,曾几何时,你可能会见到类似 Python将被纳入高考内容、计算机等级考试新增Python程序设计、人工智能时代,你还不会Python嘛? 等的新闻头条,毫无疑问,人工智能时代,Python将占据不可或缺的地位!
2021年10月TIOBE公布的编程语言排行榜单中,Python力压群雄,位居榜首!

# 计算机编程语言的分类
- 机器语言
- 概念:计算机能直接识别和接受的二进制代码成为机器指令,机器指令的集合就是机器语言,如10010011,我们可以将其理解为人类社会发展的原始阶段;
- 操作方法:当编写完成用0和1组成的指令后,需要用纸带穿孔机以人工的方法在特制的黑色纸带上穿孔,在指定的位置上有孔代表1,无孔代表0,一个程序往往需要一卷长长的纸带,在需要运行此程序时,就将此纸带装在光电输入机上,当光电输入机从纸带读入信息时,有孔处产生一个电脉冲,指令变成电信号,让计算机执行各种操作;
- 特点:
- 优点:直接执行,速度快,资源占用少;
- 缺点:可读性、可移植性差,编程复杂;
- 汇编语言
- 概念:又称“符号语言”,即用一些英文字母和数字表示一个指令,如用
ADD表示加法操作,用SUB表示减法操作,LD表示“传送”,显然,计算机并不能直接识别和执行符号语言的指令,需要使用一种称为汇编程序的软件,将符号语言的指令转换为机器指令;
- 概念:又称“符号语言”,即用一些英文字母和数字表示一个指令,如用
- 高级语言
- 按转换方式分类:编译型语言、解释型语言;
- 按客观系统描述分类:面向过程语言、面向对象语言;
- 按编程范型分类:命令式语言、函数式语言、逻辑式语言、面向对象语言;
「注」:参考链接:https://www.liuchuo.net/archives/130
相比于C、C++、Java等,Python语言更易于学习,其语法简单、代码定义更为清晰,具有丰富的模块,如PyQt、Diango、requests、BeautifulSoup、selenium、PyMongo、Pillow、jieba、Numpy、Pandas、Matplotlib、scikit-learn等,支持互动模式,最重要的是,在某些特定场景中,我们可以通过编写C或C++完成对代码运行速度较高的任务,并在Python程序中完成调用。

本系列教程将包含Web前端、数据分析及其可视化、网络爬虫、OpenCV、Deep Learning等!
「注」:本课程采用Python3作为开发版本。
# Python应用领域

- 人工智能
Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,神经网络框架,如TensorFlow、PyTorch、paddlepaddle等均有Python版本语言的实现。

- 云计算
云计算服务形式包含IaaS(Infrastructure-as-a-structure,基础设施即服务)、Paas(Platform-as-a-Service,平台即服务)、Saas(Software-as-a-Service,软件即服务),而这三种服务类型中的Iaas和Saas需要用到OpenStack来搭建,该云计算管理平台正是通过Python语言编写的。
- 数据分析
随着NumPy、SciPy、Matplotlib等众多程序库的开发和完善,Python越来越适合于做科学计算和数据分析了。它不仅支持各种数学运算,还可以绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python比Matlab所采用的脚本语言的应用范围更广泛,可以处理更多类型的文件和数据。
- 网络爬虫
Python语言很早就用来编写网络爬虫。Google 等搜索引擎公司大量地使用Python语言编写网络爬虫。从技术层面上将,Python提供有很多服务于编写网络爬虫的工具,例如urllib、Selenium和BeautifulSoup等,还提供了一个网络爬虫框架Scrapy。
Web开发
Python经常被用于Web开发,尤其随着Python的Web开发框架逐渐成熟,如Django、Flask、TurboGears、web2py等,程序员可以更轻松地开发和管理复杂的Web程序。例如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了 WSGI标准应用接口来协调HTTP服务器与基于Python的Web程序之间的通信。举个最直观的例子,全球最大的搜索引擎Google,在其网络搜索系统中就广泛使用Python语言。另外,我们经常访问的豆瓣网,也是使用Python实现的。

- 游戏开发
很多游戏使用C++编写图形显示等高性能模块,而使用Python或Lua编写游戏的逻辑。和Python相比,Lua的功能更简单,体积更小;而Python则支持更多的特性和数据类型。除此之外,Python可以直接调用Open GL实现3D绘制,这是高性能游戏引擎的技术基础。事实上,有很多Python语言实现的游戏引擎,例如Pygame、Pyglet以及Cocos 2d等。
- 网络编程
Python提供了丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope、Mnet、BitTorrent和Google都在广泛地使用它。
- 自动化运维
这几乎是Python应用的自留地,作为运维工程师首选的编程语言。在很多操作系统里,Python是标准的系统组件。大多数Linux发行版和Mac OS都集成了Python,可以在终端下直接运行Python。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它WindowsAPI。使用IronPython,Python程序能够直接调用.NetFramework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
# 案例展示
- 豆瓣电影 🎬 Top 250票房信息
- 新冠肺炎疫情数据分析
- 当当书城信息获取(基于
Scrapy框架) - 今日街拍美图获取
IMDB信息抓取- 百度小说《霸道总裁爱上我》全文抓取
Bilibili弹幕抓取及词云图制作- 视频网站抓取
- 滑动验证码破解
JS逆向:王力宏《大城小爱》热评抓取- ......