前言
笔者的许多学生反映,刚上大学,老师就让他们做Python项目,项目涉及Python、PyQt5、OpenCV等内容,知识较多,专业的书籍又太深奥,感觉无从下手;笔者的大孩子刚上大学、小孩子也要小学毕业,想用暑假时间教他们学习Python编程,于是就把笔者学习Python的笔记去掉深奥的底层原理,去掉不常用的知识,留下高频使用的知识,用通俗易懂的语言和实例整理成了本书。
选择Python的原因是,Python语法简洁、生态丰富、容易入门、适合开发人工智能。
本书主要内容
第1章介绍了Python程序的下载、安装、语法结构、变量、输入/输出函数。
第2章介绍了Python语言的分支结构、循环结构、异常处理和函数。
第3章介绍了Python语言的数字、字符串、元组、列表、字典等数据类型。
第4章介绍了Python语言的库操作,如处理时间的time库,处理文件和路径的pathlib、glob、shutil库,处理文本的Jieba、WordCloud库,处理图像的Pillow库,处理条形码和二维码的Pyzbar、pystrich、MyQR库,以及打包工具PyInstaller。
第5章介绍了Python语言的代码编写工具PyCharm的使用,txt、CSV、Excel、Word、PPT、JSON等各种文件的操作,用FFmpeg处理声频和视频,用Pandas进行数据分析,用Matplotlib可视化数据,用百度AI进行文字识别、语音转文本、人脸识别、文本纠错、图像处理,用os库调用Windows的WinRAR程序进行文件和文件夹的压缩,自动发送邮件。
第6章介绍了用Python语言编写的29个实例,如批量修改文件名和按人脸、时间、城市自动分类照片等。
第7章介绍了Python语言中类的概念,PyQt5的安装、配置,图形界面设计工具Qt Designer的使用方法。
第8章介绍了PyQt5各种控件的使用。
第9章介绍了PyQt5高级控件的使用,包括布局管理,信号和槽,eric6的使用,鼠标、键盘、窗口事件,以及SQLite数据库操作。
第10章介绍了PyQt5的10个案例,如多窗口跳转、文本纠错、生成配音MP3、学生成绩管理数据库等。
第11章介绍了图像的基础知识,以及OpenCV的安装及使用。
第12章介绍了OpenCV绘图,OpenCV与鼠标交互,以及OpenCV进行图像的几何变换。
第13章介绍了OpenCV进行图像轮廓的获取,以及轮廓的拟合和计算。
第14章介绍了用OpenCV处理视频,各种图像的转换,视频播放器实例,以及替换背景实例。
第15章介绍了辅助阅卷系统的开发。
第16章介绍了树莓派的购买、组装、配置,以及树莓派对各种传感器的控制。
第17章介绍了HTML的基础知识,Flask的安装与配置,网页的交互访问,以及网页与树莓派的交互。
第18章介绍了Anaconda创建、管理虚拟环境的方法,打包成单个文件,文字识别开源项目,人脸识别开源项目,语言识别开源项目,以及Python学习路线图。
本书第1~3章由张延一编写,第4~15章由赵会军编写,第16~18章由赵玉彩编写。
阅读建议
为了使知识通俗易懂,让读者快速入门,本书采用了由浅入深、层层递进的写作方法,例如字符格式化的3种方式,先在3.2节介绍最简单的format()用法,直到读者熟练掌握后才在5.9节介绍%s和f-string的用法,最后在第17章的17.6.py和17.7.py文件中融入实际案例,所以建议初学者按顺序逐章学习全书。
对于有一定Python基础的读者,可以跳过第一篇(第1~3章)的学习。
对于书中案例的学习,建议先运行code目录中的源代码,再对照书中的代码解释去理解代码的含义,最后独立编写代码,如果想不明白,则可再扫码观看视频操作。
致谢
感谢我的父母,疫情几年,笔者远在内蒙古,连续教了4届高中毕业班,3年没有回家了,父母总是说:“视频电话就行了,回来会给国家添麻烦。”离2021年高考还有一个月的时候,收到奶奶病重的消息,电话中奶奶几分钟才能说出一个字:“孩子,别哭,别回来,毕业班不能误。”奶奶我想您了,今年一定回家。
感谢我的爱人,对全书进行了反复校对,提出了宝贵的修改意见,感谢一生有你!
感谢石英老师,是您带我走进Python的世界。石老师的语言生动、幽默、富有感染力。
感谢我的学生杨浩博、赵卓凡对书稿进行了校对。
由于时间仓促,书中难免存在不妥之处,请读者见谅并提出宝贵意见。
赵会军
2023年4月