编辑推荐

1、《Python程序设计案例教程:从入门到机器学习(微课版)》重点讲解Python应用程序设计方法,适合有一定编程语言基础的读者快速掌握Python语言;

2、书中选取的实例能举一反三,同时规模适中,不大不小,适合在课堂中讲授;

3、精选案例,内容新颖、实用。

内容简介

  《Python程序设计案例教程:从入门到机器学习(微课版)》系统地介绍Python应用程序设计方法,主要内容包括Python语法快速入门、类与模块、图形用户界面设计、绘图及数字图像处理、文件与数据库操作、多线程、异常处理及正则表达式、网络编程与网络爬虫设计、算法设计与机器学习实战等。《Python程序设计案例教程:从入门到机器学习(微课版)》每章都配有视频教学内容,以帮助读者学习和理解。
  《Python程序设计案例教程:从入门到机器学习(微课版)》讲解详细,案例丰富,每一个知识点都配备了大量案例和图示加以说明,并通过典型案例对Python应用程序设计方法进行详细的分析和解释,帮助读者轻松上手。

目录

第1章Python语言快速入门1
1.1Python的安装与配置1
1.2运行Python程序2
1.2.1运行Python的方式2
1.2.2Python编写规范4
1.3编写简单的Python程序5
习题19
第2章Python语法速览10
2.1Python的数据类型10
2.2列表和元组12
2.2.1列表定义与列表元素12
2.2.2列表的操作函数13
2.2.3元组15
2.3字典和集合16
2.3.1字典16
2.3.2集合17
2.4程序控制结构18
2.4.1顺序控制语句18
2.4.2if选择语句21
2.4.3循环语句25
2.5函数31
2.5.1函数的定义与调用31
2.5.2局部变量与全局变量32
2.5.3常用内置函数33
2.5.4匿名函数lambda35
2.6案例精选35
习题241
第3章类与模块43
3.1类和对象43
3.1.1类的格式与创建对象43
3.1.2类的继承46
3.1.3运算符重载48
3.2模块48
3.2.1模块的导入48
3.2.2自定义模块49
3.2.3常用标准库模块50
3.2.4使用pip安装和管理扩展模块54
3.3案例精选55
习题357
第4章图形用户界面设计58
4.1图形用户界面概述58
4.1.1常用设计图形界面的模块58
4.1.2tkinter模块58
4.2窗体容器和组件59
4.2.1窗体容器和标签组件59
4.2.2按钮和事件处理61
4.3界面布局管理63
4.4文本框组件65
4.5其他常用组件68
4.5.1单选按钮和复选框68
4.5.2标签框架、下拉列表框和滚动文本框69
4.6菜单与对话框71
4.6.1菜单71
4.6.2对话框73
4.7鼠标键盘事件78
4.7.1鼠标事件78
4.7.2键盘事件80
4.8案例精选81
习题483
第5章绘图及图像处理85
5.1绘制图形85
5.1.1用画布组件绘图85
5.1.2用turtle模块绘图88
5.2数字图像处理基础90
5.2.1Python图像处理类库PIL90
5.2.2图像处理技术91
5.3案例精选94
习题5105
第6章文件与数据库编程(数据存储)106
6.1文件目录106
6.1.1文件目录函数106
6.1.2文件目录操作106
6.2文件的读写操作108
6.2.1文件操作函数108
6.2.2打开和关闭文件109
6.2.3读取文件操作109
6.2.4写入文件操作111
6.2.5二进制文件的读写114
6.2.6对Excel数据的读写操作115
6.2.7处理JSON格式数据119
6.3Python数据库编程124
6.3.1SQLite数据库编程124
6.3.2操作MySQL数据库129
6.4案例精选133
6.4.1多功能文本编辑器133
6.4.2保存结构化数据137
6.4.3英汉小词典设计139

精彩书摘

  绘图及图像处理
  5.1绘制图形
  5.1.1用画布组件绘图
  画布是图形用户界面tkinter的组件,是一个矩形区域,用于绘制图形或作为容器放置其他组件。
  1.创建画布对象
  创建画布对象的基本语法形式如下:
  w=Canvas(master,option=value,…)
  其中:
  *master:代表父窗口。
  *options:为属性参数,其意义如表5.1所示。
  表5.1画布的常用参数
  Option参数
  说明
  bg
  背景颜色
  height
  画布的高
  width
  画布的宽
  2.图形的绘制方法
  Canvas对象包含了大量的绘图方法,表5.2列出了常用的绘图方法。
  表5.2Canvas对象常用的绘图方法
  方法
  说明
  create_line(x1,y1,x2,y2)
  绘制一条从(x1,y1)到(x2,y2)的直线
  create_rectangle(x1,y1,x2,y2)
  绘制一个左上角为(x1,y1),右下角为(x2,y2)的矩形
  create_polygon(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6)
  绘制一个顶点为(x1,y1),(x2,y2),…,的多边形
  create_oval(x1,y1,x2,y2,fill='color')
  绘制一个左上角为(x1,y1),右下角为(x2,y2)的外接矩形包围的圆,fill为填充颜色
  create_arc(x1,y1,x2,y2,start=s0,extent=s)
  绘制在左上角为(x1,y1),右下角为(x2,y2)的外接矩形所包围的一段圆弧,圆弧角度为s,从s0开始
  create_image(w,h,anchor=NE,
  image=filename)
  在w宽h高的矩形区域内,显示文件名为filename的图像
  move(obj,x,y)
  移动组件obj。x为水平方向变化量,y为垂直方向变化量
  【例5-1】绘制几何图形示例。
  程序代码如下:
  '''
  窗体中的画布示例:
  绘制小球和扇形
  '''
  importtkinter
  importtkinter.messagebox
  win=tkinter.Tk()
  win.title('画布示例')#定义窗体标题
  win.geometry('400×200')#定义窗体的大小400×200像素
  can=tkinter.Canvas(win,height=200,width=400)#定义画布
  id=can.create_line(15,15,190,15)#画一条直线
  io1=can.create_oval(50,50,100,100,fill='blue')#画一蓝色圆
  io2=can.create_oval(59,59,68,68,fill='white')#画一白色小圆
  coord=15,120,210,220
  arc=can.create_arc(coord,extent=150,fill="green")#画一个扇形
  can.pack()
  win.mainloop()
  程序运行结果如图5.1所示。
  图5.1绘制几何图形
  【例5-2】绘制笑脸。
  程序代码如下:
  '''
  窗体中的画布示例:
  绘制笑脸
  '''
  importtkinter
  importtkinter.messagebox
  win=tkinter.Tk()
  win.title('画布示例')
  win.geometry('250×250')
  can=tkinter.Canvas(win,height=250,width=250)#定义画布
  io1=can.create_oval(35,30,210,210,fill='yellow')#画一黄色圆
  io2=can.create_oval(70,70,180,180,fill='black')
  io3=can.create_oval(65,70,185,170,outline='yellow',fill='yellow')
  io4=can.create_oval(80,100,110,130,fill='black')
  io5=can.create_oval(150,100,180,130,fill='black')
  can.pack()
  win.mainloop()
  程序运行结果如图5.2所示。
  图5.2绘制笑脸
  【例5-3】显示图像示例。
  程序代码如下:
  importtkinter.messagebox
  fromtkinterimport*
  win=tkinter.Tk()
  win.title('绘图示例')#定义窗体标题
  win.geometry('200×200')#定义窗体的大小200×200像素
  can=tkinter.Canvas(win,height=200,width=200)#定义画布
  filename=PhotoImage(file="test.gif")
  image=can.create_image(150,10,anchor=NE,image=filename)
  can.pack()
  win.mainloop()
  程序运行结果如图5.3所示。
  图5.3显示图像
  5.1.2用turtle模块绘图
  turtle模块是Python中的一个简单绘图工具,用它绘图非常方便。使用turtle绘制图形时,它会显示出一个箭头(又称为“海龟”),该箭头在一个横轴为x、纵轴为y的坐标系中,从原点(0,0)位置开始,按照所绘图形的轨迹绘制图形。
  下面介绍turtle模块的一些基础知识。
  1.turtle模块的画布Canvas
  画布Canvas是turtle用于绘图区域,可以设置它的大小和初始位置。
  (1)设置画布大小
  turtle.screensize(canvwidth=None,canvheight=None,bg=None)
  其中,参数canvwidth为画布的宽(单位像素);canvheight为高;bg为背景颜色。
  例如:
  turtle.screensize(800,600,"green")
  当screensize()函数无参数时,则返回一个默认为宽400,高300像素的画布
  即
  ……

前言/序言

  Python是一种面向对象的解释型计算机程序设计语言。这门强大的语言如今在大学和一些大型软件开发公司中广泛使用,其应用也越来越广。
  《Python程序设计案例教程:从入门到机器学习(微课版)》从Python初学者的角度进行选材和编写,在编写过程中,注重基础知识和实战应用相结合,《Python程序设计案例教程:从入门到机器学习(微课版)》有以下几个特点:
  (1)浅显易懂。《Python程序设计案例教程:从入门到机器学习(微课版)》从人们认知规律出发,对每一个概念,用简单的示例或图示来加以说明,并用短小的典型示例进行分析解释。
  (2)内容新颖而实用。人们学习编程的目的是为了解决人们生活和生产实践中的问题,《Python程序设计案例教程:从入门到机器学习(微课版)》使用Python3.x以上版本编写代码,大部分章节精选了实用案例,可以帮助解决读者在学习和实际应用过程中所遇到的一些困难和问题。
  (3)《Python程序设计案例教程:从入门到机器学习(微课版)》在体系结构的安排上将Python编程的基础知识和一般编程思想有机结合,对基础知识重点介绍与其他编程语言不同的部分,而与其他编程语言相同的语法部分则简略介绍。因此,《Python程序设计案例教程:从入门到机器学习(微课版)》适合具有初步编程语言基础的读者学习。
  《Python程序设计案例教程:从入门到机器学习(微课版)》共9章,其内容简单介绍如下。
  第1章主要介绍Python的安装与配置、Python程序编写规范和简单的Python程序示例。
  第2章简要地介绍数据类型、列表与元组、字典与集合、程序的三大控制结构(顺序结构、分支结构、循环结构)、函数的基本语法与应用。
  第3章主要介绍类与模块的基本知识,并介绍了使用pip安装和管理扩展模块的方法。
  第4章主要介绍窗体容器、按钮和文本框等组件、界面布局管理等图形用户界面设计的方法,还介绍了鼠标与键盘事件及其应用示例。
  第5章主要介绍绘图与数字图像处理的基本方法。
  第6章主要介绍数据的存储,包括文件的读写、对Excel表格的处理、对SQLite数据库及MySQL数据库记录增删改查的操作。
  第7章主要介绍多线程、异常处理及正则表达式。
  第8章主要介绍基于TCP及UDP的套接字编程和网络爬虫程序的设计,并介绍了爬取网络数据的几个典型案例,还介绍了Python在网络程序开发中的方法和技巧,旨在提升读者的开发技能,达成学以致用之目标。
  第9章主要介绍了常见数据结构,还介绍了两个Python的热门算法设计应用——数据分析和机器学习的应用案例。
  建议教学安排(根据课程设置了两个课时分配方案):
  章节
  方案1/学时
  方案2/学时
  第1章Python语言快速入门
  2
  2
  第2章Python语法速览
  4
  8
  第3章类与模块
  2
  4
  续表
  章节
  方案1/学时
  方案2/学时
  第4章图形用户界面设计
  4
  8
  第5章绘图与图像处理
  4
  6
  第6章文件与数据库编程(数据存储)
  6
  12
  第7章多线程与异常处理
  2
  6
  第8章网络程序设计
  6
  14
  第9章算法设计及机器学习实战入门
  2
  4
  合计
  32
  64
  学编程必须动手才能见到成效,《Python程序设计案例教程:从入门到机器学习(微课版)》在设计上特别强调讲练结合,注重实践,不仅在讲解的过程中结合大量代码示例,同时适时穿插小项目演练,以锻炼读者的程序设计能力。
  有很多人认为Python简单易学,但其实Python的复杂程度要远高于许多人的想象,诸多概念被隐藏在看似简单的代码背后。这也是Python易学难精的主要原因。因此,要强调动手实践,多编写、多练习,熟能生巧,从学习中体验到程序设计的乐趣和成功的喜悦,增强学习信心。
  《Python程序设计案例教程:从入门到机器学习(微课版)》由张思民编著。梁维娜参加《Python程序设计案例教程:从入门到机器学习(微课版)》编写及程序测试工作,在此表示感谢。
  编者
  2018年5月

其他推荐