前言 人工智能代表了人类科学发展的前沿领地,是未来信息技术发展的主要方向之一,Python语言与其密不可分。随着大数据、云计算和人工智能的飞速发展,机器学习、数据分析和数据可视化应用变得越来越重要。“Life is short,you need Python”是Python社区的名言,翻译过来就是“人生苦短,我用Python”。Python语言从20世纪90年代初诞生至今已有30年的时间,但在很长一段时间里,国内使用Python语言的开发者并不多,而在最近这几年,人们对Python语言的关注度迅速提升。这是由于2016年,AlphaGo击败人类职业围棋选手,引起了人工智能和Python语言的热潮。Python语言不仅在人工智能领域有广泛的应用,作为一种非常强大的、完备的编程语言,它还能实现从Web应用、桌面应用、科学计算、数据分析到网络爬虫等各种程序的编写。Python语言具有丰富的动态特性、简单的语法结构和面向对象的编程特点,并拥有成熟而丰富的第三方库,因此适合于很多领域的软件和硬件开发。 编程是在校大学生学习的重要部分,除了直接的应用以外,学习编程还是了解计算机科学本质的方法。Python的发展也给高校编程课程的教学带来了新的方向,很多高校陆续开设相关课程。本书作者长期从事程序设计语言教学与应用开发,在长期的工作中,积累了丰富的经验,由于Python语言涉及的领域很多,学习资料相对分散,因此,作者觉得很有必要编写一本全面介绍Python语言在各个主要领域应用与实战的教材。为了适应信息技术的发展,切实满足社会各个领域对计算机应用人才不断增长的需求,本书在编写时力求融入计算思维的思想,并将多年教学实践所形成的解决实际问题的思维模式和方法渗透到整个教学过程中。与传统的程序设计类教材不同,本书除介绍程序设计的基本技能外,还着重介绍分析问题和解决问题的方法和思路,通过构建典型案例,为学生在未来利用Python程序设计语言解决各自专业中遇到的实际问题打下良好的基础。 本书具有以下特点。 1. 内容全面 本书详细介绍Python语言所涵盖的绝大部分实用知识点,循序渐进地讲解这些知识点的使用方法与技巧,帮助读者快速入门。 2. 丰富的习题 学习程序设计的唯一方法是通过实践,本书每章结尾都有大量不同难度的习题供学生练习,同时供读者检验自己的学习情况,及时发现学习过程中存在的问题。 3. 大量教学实例 教授程序设计的最佳方式是通过实例,本书针对每一个知识点提供相关程序实例,实例的规模循序渐进,使读者更直观地理解Python编程语言的基本语法和程序设计方法,并逐步提升解决问题的能力。 4. 注重实际应用 编程最注重实践,最害怕闭门造车。每一个语法,每一个知识点,都要反复用实例来演练,才能加深对知识的理解,并且要做到举一反三,只有这样才能对知识有深入的理解。本书改变了传统教材以语言、语法学习为重点的缺陷,从基本的语言、语法学习上升到程序的“问题解决”层次。为了让学生能在有限的教学课时内真正掌握程序开发的思想、方法,书中提供一些实际应用的案例代码,有助于培养学生解决实际问题的能力。 Python语言程序设计前言本书共13章,其内容简单介绍如下。 第1章主要介绍Python的安装与配置、Python程序编写规范和简单的Python程序示例。 第2章介绍Python数据类型概述、数值类型操作、字符串操作、分支结构和循环结构。 第3章主要介绍组合数据类型,如列表、元组、字典和集合的概念与应用。 第4章主要介绍函数的概念、基本语法与应用。 第5章主要介绍文件与文件的操作、os模块的使用、二维与多维数据的存储与处理。 第6章主要介绍异常的定义和分类、异常的处理机制。 第7章介绍正则表达式的概念、re模块的使用以及编译正则表达式。 第8章介绍面向对象编程方法,包括类的定义,对象的创建,类的属性和方法,面向对象的封装、继承与多态三大基本特性。 第9章主要介绍Python图形界面编程,包括Python中的GUI库、Tkinter GUI的布局管理、Tkinter GUI编程的组件、Python中的事件响应。 第10章介绍数据库编程,包括数据库基本概念、SQLite数据库、使用Python操作MySQL数据库。 第11章主要介绍数据统计分析与可视化,包括科学计算库NumPy、数据可视化库Matplotlib、数据分析库Pandas。 第12章主要介绍网络爬虫,包括网络爬虫技术概述、使用BeautifulSoup提取HTML内容、使用BeautifulSoup4解析网页等。 第13章介绍网络编程的基础知识、基于TCP的网络编程、基于UDP的网络编程。 限于篇幅,作者没有办法仅通过一本书将所有的Python编程相关知识都灌输给大家,只能尽自己所能,在与大家分享尽可能多的知识和经验的同时培养你对编程的兴趣,提高你编写代码的水平。 需要说明的是,学习编程是一个实践的过程,在利用本书学习Python编程时,建议读者一定要多思考,多分析,多动手练习,确保真正掌握所学知识。如果读者在学习的过程中遇到暂时无法解决的问题,不要太多纠结,继续往后学习,或可豁然开朗。 本书由林川与秦永彬主持编写,其中林川拟定编写内容和大纲及负责编写第5~7章,并对全书统稿与定稿。参加本书编写的还有张波老师、许华容老师、罗媛老师、章杰老师、郭剑老师和王世水老师。 本书在编写的过程中,参考了大量文献,在此对各文献的作者表示衷心的感谢!同时还要感谢研究生杨志、青肖杰、李展志,他们参与了书中用例的编写与调试。 由于作者水平有限,书中难免存在一些疏漏和错误,殷切希望同行专家和广大读者批评指正。 林川2021年5月