- Python程序设计基础与应用
- 董付国
- 2113字
- 2022-06-01 16:55:47
前言
Python语言由Guido van Rossum于1991年推出了第一个公开发行版本,之后迅速得到了各行业人士的青睐。经过20多年的发展,Python语言已经渗透到统计分析、移动终端开发、科学计算可视化、系统安全、逆向工程、软件测试与软件分析、图形图像处理、人工智能、机器学习、深度学习等几乎所有专业和领域,在黑客领域更是多年来一直拥有霸主地位。与此同时,Python语言在各大编程语言排行榜上的位次也是逐年上升,被TIOBE网站评为2010年年度语言;在IEEE Spectrum 2017编程语言排行榜上则名列榜首,排在了第一位。
Python是一门免费、开源、跨平台的高级动态编程语言,支持命令式编程、函数式编程,完全支持面向对象程序设计,拥有大量功能强大的内置对象、标准库,以及涉及各行业领域的扩展库,使得各领域的工程师、科研人员、策划人员和管理人员能够快速实现和验证自己的思路、创意或者推测,还有更多人喜欢用Python写个小脚本来完成自己工作中的一些小任务。在有些编程语言中需要编写大量代码才能实现的功能,在Python中只需要几行代码,大幅度减少了代码量,更加容易维护。Python用户只需要把主要精力放在业务逻辑的设计与实现上,在开发速度和运行效率之间达到了完美的平衡,其精妙之处令人击节赞叹。
一个好的Python程序不仅是正确的,更是简洁的、直观的、漂亮的、优雅的、方便人们阅读的,整个代码处处体现着美,让人赏心悦目。Python代码对布局要求非常严格,尤其是使用缩进来体现代码的逻辑关系,这一点硬性要求非常有利于学习者和程序员养成一个良好的、严谨的习惯。除了能够快速解决问题之外,代码布局要求严格也是Python被广泛选作教学语言的重要原因。
早在多年前Python就已经成为卡耐基梅隆大学、麻省理工学院、加州大学伯克利分校、哈佛大学、多伦多大学等国外很多大学计算机专业或非计算机专业的程序设计入门教学语言。近几年来国内有几百所高等院校的多个专业陆续开设了Python程序设计有关课程,并且这个数量还在持续快速增加。目前来看,选择使用Python作为程序设计入门教学语言或者作为各专业扩展课程,无疑是一个非常明智的选择。
内容组织与阅读建议
本书共15章,主要包括Python编程基础(1~11章)和Python开发应用(12~15章)两部分内容,全部代码适用于Python 3.5、Python 3.6以及更高版本。
第1章 概述。简单介绍Python语言与版本、编程规范,扩展库安装方法,以及标准库对象与扩展库对象的导入与使用。
第2章内置对象运算符、表达式、关键字。讲解Python常用内置对象、运算符与表达式、常用内置函数和Python关键字。
第3章 Python序列结构。讲解列表、列表推导式、切片操作,元组与生成器表达式,字典,集合和序列解包。
第4章 选择结构与循环结构。讲解条件表达式的常见形式,单分支、双分支、多分支选择结构以及嵌套的选择结构,for循环与while循环,break与continue语句。
第5章 函数。讲解函数定义与调用语法,不同类型的函数参数,参数传递的序列解包,变量作用域,lambda表达式,生成器函数。
第6章 面向对象程序设计。讲解类的定义与使用,数据成员与成员方法、属性,继承,特殊方法与运算符重载。
第7章 字符串。讲解字符串编码格式,转义字符与原始字符串,字符串格式化的不同形式,字符串常用方法与操作,字符串常量,以及扩展库jieba和pypinyin的用法等。
第8章 正则表达式。讲解正则表达式语法,正则表达式模块re的用法和match对象等。
第9章 文件内容操作。讲解文件操作基本知识,文本文件内容操作方法,常用的二进制文件读写模块,以及Excel、Word等常见类型文件的操作。
第10章 文件与文件夹操作。讲解os、os.path与shutil这3个模块的用法,以及递归遍历并处理文件夹的原理。
第11章 异常处理结构。介绍异常的常见表现形式,常用异常处理结构,以及断言语句与上下文管理语句。
第12章 tkinter编程案例。通过模拟用户登录、选择类组件应用、简单画图程序、电子时钟、屏幕颜色选择器、抽奖式提问程序、简易计算器程序、定时自动关闭的窗口等案例演示Python标准库tkinter的用法。
第13章 网络爬虫入门与应用。介绍HTML和JavaScript基础,标准库urllib以及扩展库scrapy、BeautifulSoup4、requests和selenium在网络爬虫程序设计中的应用。
第14章 Python数据分析与处理。讲解使用pandas库进行数据分析的基本操作,数据分析案例与pandas的应用。
第15章 数据可视化。介绍使用Python扩展库matplotlib进行数据可视化相关的技术,包括折线图、散点图、饼状图、柱状图和雷达图的绘制,以及坐标轴、图例等设置。
本书适用读者
本书可以作为(但不限于):非计算机专业研究生、本科、专科程序设计课程教材;计算机专业程序设计基础课程教材;Python爱好者自学用书。
配套资源
本书为选用教材的老师提供教学PPT、源码、大纲、教案、习题答案等全套教学资源,可通过微信公众号“Python小屋”获取,或发送邮件至dongfuguo2005@126.com与作者联系获取;也可通过机械工业出版社相应渠道获取(见版权页内容简介)。
致谢
首先感谢父母的养育之恩,在当年那么艰苦的条件下还坚决支持我读书,没有让我像其他同龄的孩子一样辍学。感谢姐姐、姐夫多年来对我的爱护以及在老家对父母的照顾,感谢善良的弟弟、弟媳在老家对父母的照顾。当然,最应该感谢的是妻子和孩子对我这个工作狂人的理解和体谅。
感谢每一位读者,感谢您在茫茫书海中选择了本书,衷心祝愿您能够从本书中受益,学到真正需要的知识。同时也期待每一位读者的热心反馈,随时欢迎您指出书中的不足,并通过微信公众号“Python小屋”或电子邮箱dongfuguo2005@126.com与作者沟通和交流。
董付国 于山东烟台
2018年3月