前言 在GitHub的2018、2019年度报告中,Python是GitHub上排名第一的编程语言。Python号称“脱水语言”,基于它可以开发出许多开源库供人们免费使用。Python主要用于:①科学计算,其科学计算的能力完全可以取代商业化软件Matlab; ②数据分析和绘图,Python的pandas库提供了强大的数据分析和处理功能,matplotlib库可以方便地绘制各种图形; ③网络爬虫,利用爬虫库(如requests等),可以非常方便地从网络上爬取到自己所需要的信息; ④人工智能,Python有许多优秀的机器学习库,如Scikit learn(简称Sklearn)、tensorflow等,借助这些库可以完成机器分类、回归、降维等; ⑤图像处理和分析,可以完成各种图像的处理、分析和识别等,除pillow库外,较有名的计算机视觉库是OpenCV; ⑥三维建模mayavi;⑦网站建设,利用Flask、Django等框架建立网站。 Python与C++、Java等相比,具有以下编程优势。 (1) 完成同样的任务,代码量C++∶Java∶Python=1000∶100∶10。 (2) 应用范围广。从数据分析、科学计算、网站建设、网络爬虫、图像识别到人工智能,应用范围广泛。 (3) 学习AI的有效工具。如Sklearn库中提供了机器学习的各种算法,利用Python通过简单的调用就可以实现各种AI算法。 本书第1章介绍了软件安装、模块导入,介绍了元组、列表、字典、集合等的使用,编程采用的是面向过程的方法。第2章介绍了Python面向对象编程的方法。第1章和第2章的知识点贯穿于后面各章节。第3~10章介绍了Python在绘图、科学计算、数据分析、GUI、数据库、网络爬虫、Web框架Flask等的应用相关模块。虽然第3~10章单独成章,但各章之间有着紧密的联系。例如,绘图时难免涉及科学计算,如利用最小二乘法建立回归方程,利用数据库中的数据绘制图形,绘制的图形可以出现在tkinter/PyQt5的窗口中,也可以在网页中显示;网络爬虫结果保存时涉及数据库;各章中涉及人机交互时可能需要GUI或网页编程等。 本着“学以致用”的原则,结合编著者教学和科研案例,本书由浅入深地介绍了Python各种基础知识及应用技能。基于最小二乘法的回归分析、岩石地球化学的数据分析、Flask框架下利用Echarts绘制成本构成图等示例,都来自编著者的日常科研工作。相信读者阅读本书后一定能快速上手,将Python融入自己的学习和工作中,体验到Python编程的快乐。 本书已列入北京科技大学校级规划教材,教材的编写和出版得到了北京科技大学教材建设经费的资助,在此深表感谢! 编著者2021年8月