章Python语言概述与开发环境搭建 1
1.1Python简介1
1.1.1Python简史1
1.1.2Python的优势3
1.1.3Python的应用领域5
1.1.4Python2和Python36
1.2安装Python7
1.2.1在Windows操作系统中安装Python7
1.2.2在Linux操作系统中安装Python9
1.2.3在Mac操作系统中安装Python10
1.3个Python程序:打印“Hello,world!”12
1.3.1在交互模式下打印“Hello,world!”12
1.3.2在脚本模式下打印“Hello,world!”12
1.4Python开发工具13
1.4.1IDLE13
1.4.2编辑器13
1.4.3IDE14
1.5安装Anaconda21
1.6Python模块/包的安装22
1.6.1通过命令行窗口安装模块/包22
1.6.2通过PyCharm安装模块/包24
第二章Python语言基础 25
2.1Python基础知识25
2.1.1基本数据类型25
2.1.2注释25
2.2使用Python进行算术运算26
2.2.1将Python交互模式作为计算器26
2.2.2Python交互模式不是完美的计算器27
2.2.3更多算术运算符27
2.3变量28
2.3.1变量的概念28
2.3.2变量的命名规则29
2.4字符串30
2.4.1字符串的表示30
2.4.2字符串的简单操作32
2.5内建函数32
2.5.1print()函数33
2.5.2input()函数33
2.5.3int()函数和str()函数34
2.5.4type()函数35
第三章初级流程控制 36
3.1if语句36
3.2缩进37
3.2.1缩进的作用37
3.2.2如何进行缩进38
3.3布尔值与布尔表达式39
3.3.1判断两个值是否相等39
3.3.2判断两个值是否不相等40
3.3.3更多比较运算符知识41
3.3.4逻辑运算符43
3.3.5内建函数bool()45
3.4再谈if语句46
3.4.1if-else语句46
3.4.2if-elif-else语句47
3.4.3嵌套的条件语句49
3.4.4if-else三目运算符51
3.5while循环52
3.5.1while循环语句52
3.5.2小心死循环54
3.5.3break语句54
3.5.4continue语句55
3.6for循环56
3.6.1for循环语句56
3.6.2使用range()函数58
3.6.3for循环中的break语句和continue语句59
3.6.4for-else语句60
3.7pass语句什么也不做61
3.8流程控制应用案例61
3.8.1打印乘法表61
3.8.2登录账号62
3.8.3能否组成三角形64
第四章列表和元组 65
4.1列表65
4.2索引65
4.2.1修改列表中的项67
4.2.2删除列表中的项67
4.3切片68
4.3.1超出列表范围的切片69
4.3.2切片的简写69
4.3.3指定切片的步长70
4.4其他列表操作70
4.4.1使用len()函数获取列表长度70
4.4.2检查某个值是否在列表中71
4.4.3使用“ ”和“*”72
4.4.4嵌套的列表72
4.4.5使用list()函数创建列表73
4.5列表方法73
4.5.1append()方法73
4.5.2insert()方法74
4.5.3extend()方法74
4.5.4remove()方法74
4.5.5pop()方法75
4.5.6clear()方法76
4.5.7count()方法76
4.5.8index()方法76
4.5.9sort()方法77
4.5.10reverse()方法78
4.5.11copy()方法78
4.6列表推导式79
4.7基于列表的算法80
4.7.1冒泡排序算法80
4.7.2直接插入排序算法81
4.8通用序列操作81
4.8.1min()函数和max()函数82
4.8.2in和notin83
4.8.3“ ”和“*”83
4.8.4索引和切片84
4.8.5len()函数84
4.8.6index()方法84
4.8.7count()方法85
4.9元组86
4.9.1创建元组86
4.9.2嵌套元组88
4.9.3元组解包88
第五章更多的字符串知识 91
5.1更多的字符串基础知识91
5.1.1字符串是不可变的序列91
5.1.2转义字符和原始字符串92
5.2格式化字符串93
5.2.1C语言printf式格式化字符串93
5.2.2使用format()方法格式化字符串95
5.2.3FormattedStringLiterals98
5.3字符串方法99
5.3.1以is开头的方法99
5.3.2split()方法100
5.3.3join()方法101
5.3.4replace()方法102
5.3.5find()方法102
5.3.6lower()方法和upper()方法103
5.3.7strip()方法104
5.3.8startswith()方法和endswith()方法104
5.4字符串应用案例105
第六章字典和集合 106
6.1字典106
6.1.1创建字典106
6.1.2访问字典中的值107
6.1.3更新字典108
6.1.4删除字典中的键-值对108
6.1.5其他字典操作108
6.1.6嵌套的字典109
6.2字典方法111
6.2.1setdefault()方法111
6.2.2keys()方法112
6.2.3values()方法113
6.2.4items()方法114
6.2.5update()方法114
6.2.6pop()方法115
6.2.7popitem()方法116
6.2.8copy()方法117
6.2.9fromkeys()方法118
6.2.10clear()方法118
6.3字典应用案例118
6.3.1双色球购买流程118
6.3.2双色球购买代码实现119
6.4集合122
6.4.1创建集合122
6.4.2添加项123
6.4.3删除项124
6.4.4检查某个项是否在集合中125
6.4.5查看集合的长度125
6.5集合方法126
6.5.1issubset()方法或“<=”“<”求子集126
6.5.2issuperset()方法或“>=”“>”求超集127
6.5.3union()方法或“ ”求并集128
6.5.4intersection()方法或“&”求交集129
6.5.5difference()方法或“-”求差集130
6.5.6symmetric_difference()方法或“^”求对称差集130
第七章函数 132
7.1函数基础知识132
7.1.1定义函数132
7.1.2全局变量和局部变量132
7.2函数的参数135
7.2.1位置参数136
7.2.2关键字参数137
7.2.3参数的默认值138
7.2.4可变位置参数140
7.2.5可变关键字参数142
7.3函数的返回值144
7.4匿名函数与高阶函数146
7.4.1匿名函数146
7.4.2高阶函数147
7.5生成器函数152
7.6装饰器函数153
7.6.1装饰器函数的概念153
7.6.2装饰器函数应用案例157
7.7闭包函数159
7.7.1闭包函数的概念159
7.7.2闭包函数应用案例160
7.8递归函数161
7.9文档字符串162
7.9.1查看文档字符串162
7.9.2编写文档字符串166
第八章类 167
8.1面向对象的概念167
8.2初识类168
8.2.1由抽象获得类169
8.2.2定义类169
8.2.3__init__()构造方法和创建实例170
8.2.4实例属性170
8.2.5类属性173
8.2.6实例方法174
8.2.7类方法174
8.2.8类中的魔法方法176
8.2.9类中的静态方法178
8.2.10类中的私有属性和方法179
8.2.11类中的属性装饰器181
8.2.12类综合案例182
8.3类的封装185
8.4类的继承186
8.5类的多态191
8.6鸭子类型193
8.7设计模式195
8.7.1设计模式的由来195
8.7.2单例模式195
8.7.3工厂模式199
8.8类应用案例203
第九章错误和异常 212
9.1错误212
9.2异常213
9.3处理异常214
9.3.1try-except语句214
9.3.2捕获多个异常215
9.3.3捕获全部异常217
9.3.4打印异常信息218
9.3.5else语句219
9.3.6finally语句220
9.3.7raise语句221
第十章文件 222
10.1打开文件与关闭文件222
10.1.1打开文件222
10.1.2关闭文件225
10.2读写文件225
10.2.1读取文件226
10.2.2写入文件227
10.3二进制文件228
10.3.1shelve模块——Python对象持久化228
10.3.2pickle模块——Python对象序列化229
10.4JSON文件230
10.4.1JSON数据结构230
10.4.2JSON数据类型231
10.4.3Python操作JSON数据232
第十一章模块和包 234
11.1模块234
11.1.1模块搜索路径235
11.1.2import语句236
11.1.3dir()函数240
11.1.4将模块作为脚本执行241
11.2包243
11.2.1包的导入243
11.2.2初始化包245
11.2.3子包246
11.3常用内建模块248
11.3.1math模块248
11.3.2random模块250
11.3.3datetime模块251
11.3.4time模块253
11.3.5copy模块254
11.3.6re模块256
11.3.7os模块258
第十二章Python多进程和多线程 261
12.1进程和线程261
12.1.1多任务操作系统261
12.1.2进程和线程261
12.1.3多进程和多线程262
12.2多线程程序262
12.3线程锁(Lock)264
12.4PythonQueue(单向队列)267
12.5生产者-消费者模型实现多线程异步交互268
12.6multiprocessing模块270
12.7Pool进程池271
12.8进程间的通信273
第十三章Python网络开发 275
13.1TCP/IP协议275
13.2Socket编程277
13.2.1Socket概述277
13.2.2TCP客户端案例278
13.2.3TCP服务器端案例281
13.2.4UDP通信284
13.2.5网络测试工具285
第十四章Pygame基础 288
14.1安装Pygame288
14.1.1安装pip288
14.1.2安装Pygame289
14.2Pygame的基本使用290
14.2.1游戏循环和模板290
14.2.2使用Sprite(精灵)类293
第十五章飞机大战游戏开发 297
15.1游戏框架297
15.1.1游戏窗口297
15.1.2游戏循环297
15.2玩家飞机类298
15.2.1玩家飞机类的属性298
15.2.2玩家飞机类的方法299
15.3敌机类302
15.3.1敌机类的属性302
15.3.2敌机类的方法303
15.4子弹类305
15.4.1玩家飞机子弹类305
15.4.2敌机子弹类306
15.5检测碰撞函数307
15.6控制玩家飞机函数308
15.7游戏的场景309
15.7.1游戏启动界面309
15.7.2游戏结束界面310
15.7.3游戏过程界面312