内容简介
第1章 Python语言基础
1.1 Python语言横空出世
1.1.1编程世界的“琅琊榜”
1.1.2 Python语言的突出优势
1.1.3 Python语言的特点
1.2安装Python运行环境
1.2.1选择版本
1.2.2在Windows系统中下载并安装Python
1.2.3在MacOS系统中下载并安装Python
1.2.4在Linux系统中下载并安装Python
1.3使用IDLE开发Python程序
1.3.1 IDLE介绍
1.3.2使用IDLE开发第一个Python程序
实例1-1:输出显示一段文本信息
1.4使用PyCharm开发Python程序
1.4.1下载、安装并设置PyCharm
1.4.2使用PyCharm创建并运行一个Python程序
实例1-2:输出显示“Hello我们是TFBOYS组合!”
1.4.3 PyCharm常用功能介绍
第2章 Python基础语法
2.1独一无二缩进规则
2.1.1 Python缩进的严格要求
2.1.2一段使用缩进的Python程序
实例2-1:输出显示“Hello,欢迎来到Python世界!”
2.2注释是个好帮手
实例2-2:Python注释的演示使用
2.3编码要用心学好
2.3.1字符编码
2.3.2 Unicode编码和UTF-8编码
2.3.3 Python中的编码
2.4标识符和关键字
2.5变量就是一个存储空间
实例2-3:打印变量的值
实例2-4:同时给多个变量赋值
2.6输入和输出
2.6.1输入信息
实例2-5:获取用户输入的内容
2.6.2输出信息
实例2-6:使用函数print()输出信息
2.7字符串
2.7.1 Python字符串基础
2.7.2获取字符串中的值
实例2-7:打印输出字符串中的值
2.7.3修改字符串
实例2-8:修改字符串中的某个值
2.7.4使用转义字符
实例2-9:打印带有转义字符的内容
2.7.5格式化显示字符串
实例2-10:打印不同格式的字符串
2.7.6使用字符串处理函数
实例2-11:打印不同格式的“I love you”
2.8数字类型
2.8.1整数类型:int
2.8.2浮点型
2.8.3布尔型
2.8.4复数型
实例2-12:获取并显示各个变量的类型
2.9数字类型转换
2.9.1内置类型转换函数
实例2-13:使用函数int()实现整型转换
2.9.2类型转换综合演练
实例2-14:实现各种常见类型转换操作
第3章 运算符和表达式
3.1运算符和表达式介绍
3.2算术运算符和算术表达式
实例3-1:使用算术运算符解答简单数学题
3.3比较运算符和比较表达式
3.3.1比较运算符和比较表达式介绍
3.3.2使用比较运算符和比较表达式
实例3-2:比较两个整数
3.4赋值运算符和赋值表达式
3.4.1基本赋值运算符和表达式
实例3-3:新赛季勇士的场均目标得分和场均三分得分
3.4.2复合赋值运算符和表达式
实例3-4:对两个整数进行赋值处理
3.5位运算符和位表达式
3.5.1位运算符和位表达式介绍
3.5.2使用位运算符和位表达式
实例3-5:对整数进行位运算操作
3.6逻辑运算符和逻辑表达式
3.6.1逻辑运算符和逻辑表达式介绍
3.6.2使用逻辑运算符和逻辑表达式
实例3-6:对两个整数进行逻辑运算操作
3.7成员运算符和成员表达式
3.7.1成员运算符和成员表达式介绍
3.7.2使用成员运算符和成员表达式
实例3-7:判断某整数是否属于列表成员
3.8身份运算符和身份表达式
3.8.1身份运算符和身份表达式介绍
3.8.2使用身份运算符和身份表达式
实例3-8:判断a和b是否有相同的标识
3.9运算符的优先级
3.9.1 Python运算符的优先级介绍
3.9.2使用Python运算符的优先级
实例3-9:组合使用运算符
第4章 列表、元组和字典
4.1列表是最基本的数据结构
4.1.1列表的基本用法
实例4-1:创建一个名为girl的简单列表
实例4-2:创建了一个包含3个数字的列表
实例4-3访问并显示列表中元素的值
实例4-4:使用列表中的值创建信息
4.1.2更新(修改)列表中的元素
实例4-5:修改girl列表中某个元素的值(“美丽”修改为“妖艳”)
4.1.3插入新的元素
实例4-6:使用方法insert()在girl列表中添加一个新元素(温柔)
4.1.4在列表中删除元素
实例4-7:使用del语句删除girl列表中的某个元素(美丽)
实例4-8:使用方法PoP()删除girl列表中某个元素(端庄)
4.1.5列表排列
实例4-9:让列表girl中的元素按字母顺序排
实例4-10:使用方法sorted()排列列表cars中的元素
4.1.6列表的高级操作
实例4-11:创建列表L并实现截取与拼接操作
实例4-12:创建3个列表并实现嵌套功能
4.2元组是一种特殊的列表
4.2.1创建并访问元组
实例4-13:创建两个元组(tup1,tup2)并访问显示元组元素
4.2.2修改元组
实例4-14:连接组合两个元组中的值并输出新元组
4.2.3删除元组
实例4-15:创新元组tup后删除整个元组
4.2.4使用内置方法操作元组
实例4-16:打印元组中的元素
4.2.5将序列分解为单独的变量
实例4-17:分解元组中的元素
4.3字典:成员以“键:值”对形式存在的数据类型
4.3.1创建并访问字典
实例4-18:创建字典dict并获取字典中3个键的值
4.3.2向字典中添加数据
实例4-19:创建字典dict并向其中添加两个数据
4.3.3修改字典
实例4-20:修改字典dict中Age元素的值
4.3.4删除字典中的元素
实例4-21:删除字典dict中的Name元素
4.3.5和字典有关的内置函数
实例4-22:输出字典dict中校花的基本资料
4.3.6遍历字典
实例4-23:返回一个字典中的所有键
实例4-24:使用方法values()遍历字典中的所有值
4.4集合是一个无序不重复元素的序列
实例4-25:创建集合student并实现各种操作
第5章 流程控制语句
5.1条件语句:是与不是
5.1.1条件语句介绍
5.1.2最简单的if语句
实例5-1:使用if语句判断所能承受的车票价格
5.1.3使用if…else语句
实例5-2:使用if…else语句判断所能承受的酒店价格
5.1.4使用if…elif…else语句
实例5-3:酒店入住体验打分系统
5.1.5 if语句的嵌套
实例5-4:判断一个数字的大小是否合适
5.1.6实现switch语句的功能
实例5-5:使用elif实现其他语言中的switch功能
实例5-6:用字典实现其他语言中的switch功能
5.2 for循环语句:全部走一遍
5.2.1基本的for循环语句
实例5-7:使用for循环语句输出英文单词的字母
5.2.2通过序列索引迭代
实例5-8:循环输出了列表fruits中的元素
5.2.3使用for…else循环语句
实例5-9:判断是否是质数(10~20之间的数字)
5.2.4嵌套for循环语句
实例5-10:获取两个整数之间的所有素数
5.3 while循环语句:不知道重复多少次
5.3.1基本的while循环语句
实例5-11:使用while循环语句显示小鸟的假期
5.3.2使用whil…else循环语句
实例5-12:设置到5停止循环
5.3.3死循环问题
实例5-13:使用while循环时的死循环问题
5.3.4使用while循环嵌套语句
实例5-14:输出0到100之内的素数
5.4循环控制语句:处理突发事件
5.4.1使用break语句
实例5-15:使用break停止循环
5.4.2使用continue语句
实例5-16:循环输出字母和数字
5.4.3使用pass语句
实例5-17:输出指定字符串python中的每个英文字母
第6章 函数
6.1函数就是某个指定功能的语句
6.1.1定义函数
实例6-1:定义了一个基本的输出信息函数
6.1.2调用函数
实例6-2:定义表调用函数,计算元组内元素的和
6.2函数的参数
6.2.1形参和实参
6.2.2必需参数
实例6-3:一个错误用法
6.2.3关键字参数
实例6-4:打印网友的信息
实例6-5:在使用函数参数时不需要指定顺序
6.2.4默认参数
实例6-6:打印两个好友的信息
6.2.5不定长参数
实例6-7:在同一个函数中分别使用一个参数和三个参数
6.2.6按值传递参数和按引用传递参数
实例6-8:函数的参数是一个列表
6.3函数的返回值
6.3.1返回一个简单值
实例6-9:定义函数get_name()并通过形参返回一个简单的值
6.3.2可选实参
实例6-10:让实参变成一个可选参数
6.3.3返回一个字典
实例6-11:定义函数person()并让其返回值是一个字典
6.4变量的作用域
6.4.1三种变量作用域
6.4.2使用变量作用域
实例6-12:使用相互不影响的同名变量
实例6-13:使用关键字global在函数内部使用全局变量
6.5使用函数传递列表
6.5.1访问列表中的元素
实例6-14:定义函数users()并问候列表中的每个好友
6.5.2在函数中修改列表
实例6-15:定义函数copy()并复制好友到“亲人”分组
6.6 lambda来创建和使用匿名函数
6.6.1匿名函数介绍
6.6.2使用匿名函数
实例6-16:使用lambda创建匿名函数sum()并输出恋爱前后的幸福指数值
6.7函数和模块开发
6.7.1导入整个模块文件
实例6-17:导入模块文件的全部内容
6.7.2只导入指定的函数
实例6-18:导入模块文件中的某个函数
6.7.3使用as设置函数的别名
实例6-19:给函数设置一个别名
6.7.4使用as设置模块别名
实例6-20:给模块设置一个别名
6.7.5导入所有函数
实例6-21:使用“*”运算符导入外部模块文件中所有函数
第7章 面向对象编程技术
7.1面向对象基础
7.1.1 Python的面向对象编程
7.1.2 Python面向对象的几个核心概念
7.2定义并使用类
7.2.1定义一个类
7.2.2类的基本用法
实例7-1:财产分配说明书
7.3对象
实例7-2:使用类的对象
7.4方法
7.4.1定义并使用类方法
实例7-3调用类方法打印信息
7.4.2构造方法
实例7-4:使用构造方法打印信息
实例7-5:霍老二的宠物狗
7.4.3方法调用
实例7-6:在类中调用类的自身方法和全局函数
7.4.4创建多个实例
实例7-7:创建多个不同的对象实例
7.4.5使用私有方法
实例7-8:打印网店的地址
7.4.6析构方法
实例7-9:打印三种客户类型信息
7.4.7静态方法和类方法
实例7-10:同时使用类方法和静态方法
7.4.8类的专有方法
7.5属性
7.5.1认识属性
7.5.2类属性和实例属性
实例7-11:改变变量的值
7.5.3设置属性的默认值
实例7-12:设置汽车的属性信息
7.5.4修改属性的值
实例7-13:通过实例修改霍老板新车的行驶里程
实例7-14:通过自定义方法修改霍老板新车行驶里程的方法
实例7-15:通过递增值修改霍老板新车的行驶里程
7.5.5使用私有属性
实例7-16:打印私有属性的值
7.6继承
7.6.1定义子类
实例7-17:霍老二的一辆豆腐车
7.6.2在子类中定义方法和属性
实例7-18:豆腐车的发动机参数
7.6.3子类可以继续派生新类
实例7-19:豆腐车的升级版
7.6.4私有属性和私有方法
实例7-20:不能相互访问私有变量
7.6.5多重继承
实例7-21:3个子类的多重继承
7.7方法重写
实例7-22:通过重写修改方法的功能
第8章 模块、包和迭代器
8.1模块架构
8.1.1最基本的模块调用
实例8-1:在程序中调用外部模块文件
实例8-2外部模块文件和测试文件不在同一个目录
8.1.2目录“_Pycache_”
实例8-3:编译指定的文件
8.1.3使用“name”属性
实例8-4:测试模块是否能正常运行
8.2包是管理程序模块的形式
8.2.1表示包
8.2.2创建并使用包
8.2.3创建并使用包
实例8-5:创建并使用包输出指定的内容
8.3迭代器:简化代码并节约内存
8.3.1什么是迭代器
实例8-6:使用for循环语句遍历迭代器
8.3.2创建并使用迭代器
实例8-7:打印迭代的元素
8.3.3使用内置迭代器协议方法iter()
实例8-8:显示迭代器中的数据元素
第9章 生成器、装饰器和闭包
9.1生成器:边循环边计算
9.1.1生成器的运行机制
实例9-1:使用yield生成器显示奥运会金牌榜的变化
9.1.2创建生成器
实例9-2:创建一个递减序列生成器
9.1.3生成器的第一次调用
实例9-3:重新初始化生成器生成初始值
9.1.4使用协程重置生成器序列
实例9-4:使用方法send()重置生成器的序列
9.2装饰器:拓展函数功能
9.2.1创建装饰器
9.2.2使用装饰器修饰函数
实例9-5:比较装饰器函数和非装饰器函数
实例9-6:比较调用前后的执行结果
9.2.3使用装饰器修饰类
实例9-7:打印x、y、z的坐标
9.3命名空间:存储变量与值对应关系的字典
9.3.1命名空间的本质
实例9-8:函数与其全局命名空间
9.3.2查找命名空间
实例9-9:查找嵌套函数命名空间
9.3.3命名空间的生命周期
9.3.4命名空间访问函数locals()与globals()
实例9-10:使用内置函数locals()访问局部命名空间
实例9-11:使用函数globals()访问全局命名空间
实例9-12:同时使用内置函数locals与globals,并分析三者区别
9.4闭包:函数和引用环境组合而成的实体
9.4.1什么是闭包
实例9-13:打印教练的信息
9.4.2闭包和嵌套函数
实例9-14:使用被嵌套函数中的变量
9.4.3使用闭包记录函数被调用的次数
实例9-15:统计调用函数的次数
第10章 文件操作处理
10.1文件操作基础
10.2使用File操作文件
10.2.1 File对象介绍
实例10-1:打开一个文件并查看其属性
10.2.2使用close()方法关闭操作
实例10-2:打开和关闭一个记事本文件
10.2.3使用方法flush()
实例10-3:使用flush()方法刷新缓冲区
10.2.4使用方法fileno()
实例10-4:使用方法fileno()返回文件描述符
10.2.5使用方法isatty()
实例10-5:检测某文件是否连接到一个终端设备
10.2.6使用方法next()
实例10-6:返回文件各行内容
10.2.7使用方法read()
实例10-7:读取文件中3个字节的内容
10.3使用OS对象
10.3.1 OS对象介绍
10.3.2使用方法access()
实例10-8:获取指定文件的操作权限
10.3.3使用方法chdir()
实例10-9:修改当前工作目录到指定路径
10.3.4使用方法chmod()
实例10-10:修改指定文件或目录权限
10.3.5打开、写入和关闭
实例10-11:创建并打开文件“456.txt”,然后实现文件的打开、写入和关闭操作
10.3.6打开、读取和关闭
实例10-12:读取文件中的指定字符
10.3.7创建目录
实例10-13:使用方法mkdir()创建一个目录“top”
实例10-14:使用方法makedirs()创建一个目录“tmp/home/123”
第11章 标准库函数
11.1字符串处理函数
11.1.1分割字符串
实例11-1:使用函数split()分割指定的字符串
实例11-2:使用函数re.split()分割指定字符串
11.1.2字符串开头和结尾处理
实例11-3:使用函数startswith()和endswith()处理指定字符串
11.1.3实现字符串匹配处理
实例11-4:匹配处理各种类型的字符
11.1.4文本模式匹配和查找
实例11-5:查找字符串中字符
11.1.5文本查找和替换
实例11-6:使用函数replace()替换文本
11.1.6实现最短文本匹配
实例11-7:使用正则表达式实现最短文本匹配
11.1.7处理Unicode文本
实例11-8:Unicode字符串的代码点序列表示方法
实例11-9:使用函数normalize()归一化Unicode字符串
11.1.8删除字符串中的字符
实例11-10:删除字符串中的指定的内容
11.1.9字符过滤和清理
实例11-11:删除空格和Unicode组合字符
11.1.10字符串对齐处理
实例11-12:按照指定格式对齐字符串
11.1.11字符串连接和合并
实例11-13:合并给出的多个字符串
11.2数字处理函数
11.2.1使用math模块实现数学运算
实例11-14:使用函数abs()返回数字绝对值
实例11-15:使用函数ceil()返回最小整数值
实例11-16:使用两种格式的Pow()函数
实例11-17:计算指定数字四舍五入值
11.2.2使用decimal模块实现精确运算
实例11-18:分别实现误差运算和精确运算
11.2.3处理二进制、八进制和十六进制数据
实例11-19:将一个整数转换为二进制、八进制或十六进制
11.2.4实现复数运算
实例11-20:操作处理复数数据
11.2.5使用fractions模块处理分数
实例11-21:对分数进行各种运算处理
11.2.6使用NumPy模块
实例11-22:创建一维数组和二维数组
11.3日期和时间函数
11.3.1使用时间模块
实例11-23:使用函数time.clock()实现时间处理
实例11-24:使用函数mktime(tupletime)实现时间操作
实例11-25:使用函数time.tzset()格式化显示时间
11.3.2使用Calendar日历模块
实例11-26:使用calendar模块函数显示日历
11.3.3使用datetime模块
实例11-27:使用类date打印系统日期信息
实例11-28:使用类date打印不同格式的日期
实例11-29:使用类time打印时间信息
实例11-30:使用类datetime打印系统时间信息
第12章 异常处理
12.1语法错误
实例12-1:代码拼写错误的执行输出
12.2常见异常处理方式
12.2.1异常的特殊之处
12.2.2使用“try…except”处理异常
实例12.2:处理变量错误
实例12-3:一个try语句包含多个except子句的异常处理
12.2.3使用“try…except…else”处理异常
实例12-4:处理索引异常
12.2.4使用“try…except…finally”语句
实例12-5:使用finally确保使用文件后能关闭这个文件
12.3抛出异常
12.3.1使用raise抛出异常
实例12-6:抛出错误异常
12.3.2使用assert语句抛出异常
实例12-7:抛出循环错误异常
12.3.3自定义异常
实例12-8:自己编写一个异常类
12.4内置异常类
12.4.1处理ZeroDivisionError异常
实例12-9:解决ZeroDivisionError类型的异常
12.4.2 FileNotFoundError异常
实例12-10:解决FileNotFoundError类型的异常
12.4.3使用except捕获异常
实例12-11:捕获程序中的所有异常
12.4.4逻辑错误的程序测试
实例12-12:使用函数testmnod()实现单元测试
实例12-13:使用函数testfile()进行单元测试(测试案例不写在程序文件中)
第13章 正则表达式
13.1基本语法表达
13.1.1普通字符
13.1.2非打印字符
13.1.3特殊字符
13.1.4使用小括号指定分组
13.1.5限定符
13.1.6定位符
13.1.7限定范围和否定
13.1.8运算符优先级
13.1.9扩展表示法
13.2使用re模块
13.2.1 re模块库函数介绍
13.2.2使用compile()函数编译正则表达式
实例13-1:将正则表达式的字符串形式编译为Pattern实例
13.2.3使用函数match()匹配正则表达式
实例13-2:匹配无人驾驶网站的网址
实例13-3:验证邮箱地址
13.2.4使用函数search()扫描字符串并返回成功的匹配
实例13-4:使用函数search()扫描无人驾驶网址并返回结果
13.2.5使用函数findall()查找并返回符合的字符串
实例13-5:匹配操作字符串中的内容
13.2.6使用搜索替换函数sub()和subn()
实例13-6:用函数sub()替换字符串中的字母
13.2.7使用分割函数split()
实例13-7:使用函数split()分割指定字符串
13.2.8使用扩展符号
实例13-8:使用扩展符号对字符串进行扩展处理
13.3使用Pattern对象
实例13-9:使用函数compile()处理字符串
第14章 开发网络程序
14.1网络开发基础
14.1.1 OSI七层网络模型
14.1.2 TCP/IP协议
14.2 Socket套接字编程
14.2.1库Socket内置函数和属性
实例14-1:创建socket服务器端和客户端
14.2.2对象Socket的内置函数和属性
14.2.3使用socket建立TCP“客户端/服务器”连接
实例14-2:一个简易TCP聊天程序
14.2.4使用socket建立UDP“客户端/服务器”连接
实例14-3:一个简易UDP聊天程序
14.3 socketserver编程
14.3.1 socketserver模块基础
14.3.2使用socketserver创建TCP“客户端/服务器”程序
实例14-4:使用socketserver开发一个聊天程序
14.3.3使用ThreadingTCPServer创建“客户端/服务器”通信程序
实例14-5:使用ThreadingTCPServer创建一个聊天程序
14.4使用select模块实现多路I/O复用
14.4.1 select模块介绍
实例14-6:使用select同时监听多个端口
14.4.2 I/O多路复用并实现读写分离
实例14-7:使用select模拟多线程并实现读写分离
14.5使用urllib包
14.5.1 urllib包介绍
14.5.2使用urllib.request模块
实例14-8:在百度搜索关键词中得到第一页链接
14.5.3使用urllib.parse模块
实例14-9:实现HTTP身份验证
14.6使用http包
14.6.1使用http.client模块
14.6.2使用HTTPConnection对象访问指定网站
实例14-10:跑男A访问百度
14.7收发电子邮件
14.7.1开发POP3邮件程序
实例14-11:获取指定邮件中的最新两封邮件的主题和发件人信息
14.7.2开发SMTP邮件程序
实例14-12:使用SMTP协议发送邮件
14.7.3使用库email开发邮件程序
实例14-13:发送带附件功能邮件
14.8开发FTP文件传输程序
14.8.1 Python和FTP
14.8.2创建一个FTP文件传输客户端
实例14-14:开发一个简单的FTP文件传输系统
第15章 多线程开发
15.1线程和进程介绍
15.2使用threading模块
15.2.1 threading模块的核心方法
15.2.2使用Thread对象
实例15-1:在线程中运行一个函数
15.2.3使用Lock和RLock对象
实例15-2:使用RLock实现线程同步
实例15-3:使用Lock对临界区加锁
15.2.4使用Condition对象
实例15-4:捉迷藏游戏
15.2.5使用Semaphore和BoundedSemaphore对象
实例15-5:使用Semaphore对象运行4个线程
实例15-6:使用BoundedSemaphore对象运行4个线程
15.2.6使用Event对象
实例15-7:使用Event对象实现线程同步
15.2.7使用Timer对象
实例15-8:设置线程在延迟5秒后执行
15.2.8使用local对象
实例15-9:管理线程局部数据
15.3使用进程库multiprocessing
15.3.1 threading和multiprocessing的关系
15.3.2使用Process
实例15-10:使用Process对象生成进程
15.3.3使用Pipes和Queues对象
实例15-11:使用Pipe对象创建双向管道
15.3.4使用Connection对象
实例15-12:使用Connection对象处理数据
15.3.5使用共享对象Shared
实例15-13:创建共享ctypes对象
15.3.6使用Manager对象
实例15-14:使用Manager对象操作list列表
15.4使用线程优先级队列模块queue
15.4.1模块queue中的常用方法
实例15-15:在线程之间实现数据通信
15.4.2基本FIFO队列
实例15-16:实现先进先出队列
15.4.3 LIFO队列
实例15-17:实现后进先出队列
15.4.4优先级队列
实例15-18:使用模块queue实现优先级队列
15.5使用模块subprocess创建进程
15.5.1全新的run()方法
15.5.2旧版本中的高级API
实例15-19:使用模块subprocess创建子进程
第16章 Tkinter图形化界面开发
16.1 Tkinter开发基础
16.1.1第一个tkinter程序
实例16-1:创建第一个GUI程序
16.1.2向窗体中添加组件
实例16-2:向窗体中添加文本和按钮
16.2 tkinter组件开发
16.2.1 tkinter组件概览
实例16-3:使用Frame布局窗体界面
16.2.2使用按钮控件
实例16-4:生成一个购物窗口并向其中添加4个按钮
16.2.3使用文本框控件
实例16-5:创建各种样式的文本框
16.2.4使用菜单控件
实例16-6:模拟实现记事本菜单
16.2.5使用标签控件
实例16-7:生成一个主窗口并在其中创建4个类型的标签
16.2.6使用单选按钮和复选按钮控件
实例16-8:生成一个主窗口并创建单选框和复选框
16.3开发tkinter事件处理程序
16.3.1 tkinter事件基础
实例16-9:创建一个“英尺/米”转换器
16.3.2动态绘图程序
实例16-10:简易绘图板
16.4实现对话框功能
16.4.1创建消息框
实例16-11:实现文本对话框效果
16.4.2创建输入对话框
实例16-12:创建可以输入内容的对话框
16.4.3创建文件打开/保存对话框
实例16-13:打开、保存指定的文件
16.4.4创建颜色选择对话框
实例16-14:颜色选择笔
16.4.5创建自定义对话框
实例16-15:创建两个指定样式的对话框
第17章 开发数据库程序
17.1操作SQLite3数据库
17.1.1 sqlite3模块介绍
实例17-1:执行指定SQL语句
实例17-2:使用方法cursor.executemany()执行SQL命令
实例17-3:同时执行多个SQL语句
实例17-4:生成SQLite shell命令
17.1.2使用sqlite3模块操作SQLite3数据库
实例17-5:在SQLite3数据库中创建表、添加/删除数据
17.1.3 SQLite和Python的类型
实例17-6:将自定义类Point适配SQLite3数据库
实例17-7:注册适配器函数
实例17-8:让sqlite3知道从数据库中实际选择的是一个点
17.1.4事物控制
实例17-9:开启智能commit功能
17.2操作MySQL数据库
17.2.1搭建PyMySQL环境
17.2.2实现数据库连接
实例17-10:显示PyMySQL数据库版本号
17.2.3创建数据库表
实例17-11:使用方法execute()创建一个新数据库表employee
17.2.4数据库插入操作
实例17-12:向数据库表中添加新的数据
17.2.5数据库查询操作
实例17-13:查询并显示工资大于1000的所有员工
17.2.6数据库更新操作
实例17-14:将数据库表中某个字段的值递增加1
17.2.7数据库删除操作
实例17-15:删除表中所有年龄大于20的数据
17.2.8执行事务
实例17-16:删除表中所有年龄大于19的数据
17.3使用MariaDB数据库
17.3.1搭建MariaDB数据库环境
17.3.2在Python程序中使用MariaDB数据库
实例17-17:连接MariaDB数据库并添加、查询数据
17.4使用适配器
实例17-18:访问MySQL、Gadfly和SQLite三种数据库
17.5使用ORM(对象关系映射)操作数据库
17.5.1 Python和ORM
17.5.2使用SQLAlchemy
实例17-19:使用SQLAlchemy分别操作MySQL和SQLite数据库
17.5.3使用mongoengine
实例17-20:使用mongoengine操作MongoDB数据库数据
第18章 使用Pygame开发游戏
18.1安装Pygame
18.2 Pygame开发基础
18.2.1 Pygame框架中的模块
实例18-1:使用Pygame开发一个简易飞行游戏
18.2.2事件操作
实例18-2:在Pygame框架中处理键盘事件
18.2.3显示模式设置
实例18-3:让游戏在全屏和非全屏模式之间进行转换
18.2.4字体处理
实例18-4:在游戏窗口中显示指定样式的文字
18.2.5像素和颜色处理
实例18-5:实现一个三原色颜色滑动条
18.2.6使用Surface绘制图像
实例18-6:在游戏界面随机绘制点
18.2.7使用pygame.draw绘图函数
实例18-7:随机绘制各种多边形
18.2.8游戏开发实践
实例18-8:简单的贪吃蛇游戏
第19章 Python Web开发
19.1使用Tornado框架
19.1.1 Tornado框架介绍
19.1.2 Python和Tornado框架
实例19-1:编写Tornado Web程序:杰克琼斯是男生的最爱
19.1.3获取请求参数
实例19-2:显示杰克琼斯官方旗舰店的欢迎信息
实例19-3:显示美特斯邦威的广告词
19.1.4使用cookie
实例19-4:在不同页面设置与获取cookie值
19.1.5 URL转向
实例19-5:实现两种URL转向功能
19.1.6使用静态资源文件
实例19-6:显示杰克琼斯商品的最畅销款
19.2使用Django框架
19.2.1搭建Django环境
19.2.2常用的Django命令
19.2.3第一个Django工程
实例19-7:输出显示“优衣库价格实惠”
19.2.4在URL中传递参数
实例19-8:参数加法计算器
19.2.5使用模板
实例19-9:显示优衣库的广告词
19.2.6使用表单
实例19-10:表单计算器
19.2.7实现基本的数据库操作
实例19-11:创建SQLite3数据库
19.2.8 Django后台系统应用实践
实例19-12:开发一个博客系统
19.3微框架Flask
19.3.1开始使用Flask框架
实例19-13:显示巴萨足球队的主赞助商
19.3.2传递URL参数
实例19-14:将不同的URL映射到同一个函数
实例19-15:使用get请求获取URL参数
19.3.3使用Session和Cookie
实例19-16:使用Cookie跟踪用户
19.3.4文件上传
实例19-17:开发一个Flask文件上传系统
第20章 数据可视化
20.1使用matplotlib
20.1.1搭建matplotlib环境
20.1.2初级绘图
实例20-1:使用Matplotlib绘制散点图
实例20-2:使用matplotlib绘制折线图
实例20-3:绘制指定样式的折线图
20.1.3自定义散点图样式
实例20-4:绘制指定样式的散点图
20.1.4绘制柱状图
实例20-5:绘制多个柱状图
20.1.5绘制多幅子图
实例20-6:同时绘制一个折线图和散点图
20.1.6绘制曲线
实例20-7:使用正弦函数和余弦函数绘制曲线
20.1.7绘制3D图表
实例20-8:绘制3D样式图表
20.2使用pygal库
20.2.1安装pygal库
20.2.2可视化模拟掷骰子游戏的数据
实例20-9:掷骰子100次的可视化模拟
20.2.3使用pygal绘制世界人口统计图
实例20-10:绘制2015年世界人口地图
20.3读写处理CSV文件
20.3.1 CSV模块介绍
20.3.2操作CSV文件
实例20-11:输出CSV文件中的日期和标题内容
实例20-12:提取并打印CSV文件中的指定内容
20.4使用Pandas库
20.4.1安装Pandas库
实例20-13:测试Pandas库是否安装成功并成功运行
20.4.2从CSV文件读取数据
实例20-14:读取并显示了CSV文件中的前3条数据
实例20-15:用规整的格式读取并显示CSV文件中的前3条数据
20.5使用NumPy库
20.5.1 NumPy基础
20.5.2数组对象
实例20-16:创建一个由4字节整数组成的2×3的二维数组
实例20-17:通过索引切片生成数组的视图
第21章 Python多媒体开发实战
21.1使用模块audioop处理原始音频数据
21.1.1内置模块audioop介绍
21.1.2使用模块audioop播放音乐
实例21-1:播放指定的音乐文件
21.2使用模块aifc
21.2.1模块aifc基础
21.2.2使用模块aifc获取多媒体文件的信息
实例21-2:打印某个多媒体文件的信息
21.3使用模块wave
21.3.1模块wave基础
21.3.2使用模块wave操作处理WAV文件
实例21-3:打印指定多媒体文件的信息
21.4基于tkinter模块的音乐播放器
实例21-4:多功能音乐播放器
第22章 开发网络爬虫
22.1网络爬虫基础
22.2开发简单的网络爬虫应用程序
22.2.1抓取××百科文字信息
实例22-1:打印输出抓取的爬虫信息
22.2.2抓取某贴吧信息
实例22-2:抓取×吧信息并保存到本地文件
22.3使用爬虫框架Scrapy
22.3.1 Scrapy框架基础
22.3.2搭建Scrapy环境
22.3.3创建第一个Scrapy项目
实例22-3:使用Scrapy开发一个简易爬虫程序
22.4综合实战——桌面壁纸抓取系统
22.4.1创建项目
22.4.2系统设置
22.4.3创建数据库
22.4.4声明需要格式化处理的字段
22.4.5实现保存功能类
22.4.6实现具体的爬虫
第23章 大数据实战:网络爬虫房价数据并数据分析
23.1背景介绍
23.2需求分析
23.3模块架构
23.4系统设置
23.4.1选择版本
23.4.2保存日志信息
23.4.3设置创建的文件名
23.4.4设置抓取城市
23.5破解反爬机制
23.5.1定义爬虫基类
23.5.2浏览器用户代理
23.5.3在线IP代理
23.6爬虫抓取信息
23.6.1设置解析元素
23.6.2抓取二手房信息
23.6.3抓取楼盘信息
23.6.4抓取小区信息
23.7数据可视化
23.7.1抓取数据并保存到数据库
23.7.2可视化济南市房价最贵的4个小区
23.7.3可视化济南市主要地区的房价均价