图书介绍

Python编程初学者指南2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Python编程初学者指南
  • (美)道森著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115361448
  • 出版时间:2014
  • 标注页数:392页
  • 文件大小:45MB
  • 文件页数:423页
  • 主题词:软件工具-程序设计-指南

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Python编程初学者指南PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 启程:Game Over程序1

1.1 剖析Game Over程序1

1.2 Python 简介2

1.2.1 Python易于使用3

1.2.2 Python功能强大3

1.2.3 Python是面向对象的3

1.2.4 Python是一种“胶水”语言4

1.2.5 Python无所不在4

1.2.6 Python有一个强大的社区4

1.2.7 Python是免费的、开源的4

1.3 在Windows上设置Python4

1.4 在其他操作系统上设置Python5

1.5 IDLE简介6

1.5.1 通过交互模式进行编程6

1.5.2 通过脚本模式进行编程9

1.6 回到Game Over程序11

1.6.1 使用注释12

1.6.2 使用空行13

1.6.3 打印字符串13

1.6.4 等待用户13

1.7 小结14

第2章 类型、变量以及简单I/O:Useless Trivia程序15

2.1 Useless Trivia程序简介15

2.2 使用引号和字符串16

2.2.1 Game Over 2.0程序简介16

2.2.2 在字符串内部使用引号17

2.2.3 打印输出多个值18

2.2.4 为print指定结束字符串19

2.2.5 创建三重引号字符串19

2.3 使用转义序列和字符串20

2.3.1 FancyCredits程序简介20

2.3.2 前进一个制表符位21

2.3.3 打印反斜杠22

2.3.4 插入换行符22

2.3.5 插入引号22

2.3.6 触发系统蜂鸣器23

2.4 字符串的连接和重复23

2.4.1 Silly Strings程序简介24

2.4.2 字符串的连接25

2.4.3 使用行继续符25

2.4.4 字符串的重复25

2.5 使用数字26

2.5.1 Word Problems程序简介26

2.5.2 解数值类型27

2.5.3 使用数学运算符27

2.6 理解变量28

2.6.1 Greeter程序简介29

2.6.2 创建变量29

2.6.3 使用变量30

2.6.4 变量命名30

2.7 获取输入31

2.7.1 PersonalGreeter程序简介31

2.7.2 使用input()函数32

2.8 使用字符串方法33

2.8.1 Quotation Manipulation程序简介34

2.8.2 通过字符串方法创建新字符串35

2.9 使用正确的类型37

2.9.1 Trust Fund Buddy-Bad程序简介37

2.9.2 跟踪逻辑错误38

2.10 转换值的类型39

2.10.1 TrustFundBuddy-Good程序简介39

2.10.2 将字符串转换成整数40

2.10.3 使用复合赋值运算符41

2.11 回到Useless Trivia程序42

2.11.1 创建初始注释42

2.11.2 获取用户输入43

2.11.3 打印小写和大写形式的name43

2.11.4 打印name五次43

2.11.5 计算秒数44

2.11.6 计算moon_weight和sun_weight44

2.11.7 等一等用户44

2.12 小结44

第3章 条件分支、while循环以及程序策划:Guess My Number游戏46

3.1 Guess My Number游戏简介46

3.2 生成随机数47

3.2.1 Craps Roller程序简介47

3.2.2 引入random模块48

3.2.3 使用randint()函数49

3.2.4 使用randrange()函数49

3.3 使用if语句49

3.3.1 Password程序简介50

3.3.2 观察if语句51

3.3.3 创建条件51

3.3.4 理解比较运算符52

3.3.5 通过缩进创建代码块53

3.3.6 构建自己的if语句53

3.4 使用else子句53

3.4.1 Grated or Denied程序简介54

3.4.2 观察else子句55

3.5 使用elif子句55

3.5.1 Mood Computer程序简介56

3.5.2 观察elif子句58

3.6 创建while循环59

3.6.1 Three-Year-OldSimulator程序简介60

3.6.2 观察while循环60

3.6.3 初始化哨兵变量61

3.6.4 检查哨兵变量61

3.6.5 更新哨兵变量62

3.7 避免无限循环62

3.7.1 LosingBattle程序简介62

3.7.2 跟踪程序64

3.7.3 创建可以变成False的条件64

3.8 将值用作条件65

3.8.1 Maitre D'程序简介66

3.8.2 把值解释为True或False67

3.9 故意创建无限循环67

3.9.1 Finicky Counter程序简介68

3.9.2 通过break语句退出循环68

3.9.3 通过continue语句跳回循环的开头69

3.9.4 理解break和continue的使用场景69

3.10 使用复合条件69

3.10.1 Exclusive Network程序简介70

3.10.2 理解逻辑运算符not72

3.10.3 理解逻辑运算符and73

3.10.4 理解逻辑运算符or74

3.11 规划程序74

3.11.1 利用伪码编制算法75

3.11.2 逐步对算法进行提炼75

3.12 回到Guess My Number游戏76

3.12.1 程序规划76

3.12.2 创建初始注释块77

3.12.3 引入random模块77

3.12.4 游戏说明77

3.12.5 设置初始值77

3.12.6 创建猜测循环78

3.12.7 向玩家表示祝贺78

3.12.8 等待玩家退出78

3.13 小结78

第4章 for循环、字符串以及元组:Word Jumble游戏80

4.1 Word Jumble游戏简介80

4.2 使用for循环81

4.2.1 Loopy String程序简介81

4.2.2 理解for循环82

4.2.3 创建for循环83

4.3 通过for循环进行计数83

4.3.1 Counter程序简介83

4.3.2 前向计数84

4.3.3 按五为单位进行计数85

4.3.4 后向计数85

4.4 对字符串使用序列运算符和函数86

4.4.1 Message Analyzer程序简介86

4.4.2 使用len()函数87

4.4.3 使用in运算符87

4.5 对字符串进行索引88

4.5.1 Random Access程序简介88

4.5.2 使用正的位置编号89

4.5.3 使用负的位置编号90

4.5.4 随机访问字符串元素91

4.6 理解字符串的不变性92

4.7 构建新字符串93

4.7.1 No Vowels程序简介93

4.7.2 创建常量94

4.7.3 通过已有的字符串创建新字符串95

4.8 对字符串进行切片操作96

4.8.1 Pizza Slicer程序简介96

4.8.2 理解None97

4.8.3 理解切片98

4.8.4 创建切片98

4.8.5 使用切片速记法99

4.9 创建元组99

4.9.1 Hero'sInventory程序简介100

4.9.2 创建空元组101

4.9.3 把元组当作条件101

4.9.4 创建带有元素的元组102

4.9.5 打印元组102

4.9.6 遍历元组中的元素102

4.10 使用元组103

4.10.1 Hero's Inventory 2.0程序简介103

4.10.2 准备工作104

4.10.3 对元组使用len()函数104

4.10.4 对元组使用in运算符104

4.10.5 对元组进行索引105

4.10.6 对元组进行切片105

4.10.7 理解元组的不变性106

4.10.8 元组的连接操作106

4.11 回到Word Jumble游戏107

4.11.1 准备工作107

4.11.2 对题目的创建部分进行设计107

4.11.3 创建空的题目字符串108

4.11.4 设置循环108

4.11.5 产生word中的随机位置108

4.11.6 创建新版的jumble108

4.11.7 创建新版的word109

4.11.8 欢迎玩家的到来109

4.11.9 获取玩家的答案109

4.11.10 向玩家表示恭喜109

4.11.11 结束游戏110

4.12 小结110

第5章 列表和字典:Hangman游戏111

5.1 Hangman游戏简介111

5.2 使用列表113

5.2.1 Hero's Inventory 3.0程序简介113

5.2.2 创建列表114

5.2.3 对列表使用len()函数114

5.2.4 对列表使用in运算符114

5.2.5 对列表进行索引114

5.2.6 对列表进行切片115

5.2.7 对列表进行连接115

5.2.8 理解列表的可变性115

5.2.9 通过索引对列表元素进行赋值116

5.2.10 通过切片对列表进行赋值116

5.2.11 删除列表元素116

5.2.12 删除列表切片117

5.3 使用列表方法117

5.3.1 High Scores程序简介117

5.3.2 准备工作118

5.3.3 显示菜单118

5.3.4 退出程序119

5.3.5 显示得分记录119

5.3.6 添加得分记录119

5.3.7 删除得分记录120

5.3.8 对得分记录进行排序120

5.3.9 处理无效选项121

5.3.10 等一等用户121

5.4 理解元组和列表的使用场景122

5.5 使用嵌套序列122

5.5.1 High Scores 2.0程序简介122

5.5.2 创建嵌套序列123

5.5.3 访问嵌套元素124

5.5.4 序列的解包125

5.5.5 准备工作125

5.5.6 访问嵌套的元组并显示得分126

5.5.7 通过附加嵌套元组的方式添加得分记录126

5.5.8 处理无效菜单项126

5.5.9 等一等用户126

5.6 理解共享引用127

5.7 使用字典129

5.7.1 GeekTranslator程序简介129

5.7.2 创建字典130

5.7.3 访问字典的值130

5.7.4 准备工作132

5.7.5 获取值133

5.7.6 增加键值对133

5.7.7 替换键值对134

5.7.8 删除键值对134

5.7.9 结束程序135

5.7.10 理解字典的需求135

5.8 回到Hangman游戏136

5.8.1 准备工作136

5.8.2 创建常量137

5.8.3 初始化变量140

5.8.4 创建主循环140

5.8.5 获取用户的答案140

5.8.6 判断猜测结果141

5.8.7 结束程序141

5.9 小结142

第6章 函数:Tic-Tac-Toe游戏143

6.1 Tic-Tac-Toe游戏简介143

6.2 创建函数144

6.2.1 Instructions程序简介145

6.2.2 定义函数146

6.2.3 编制函数的文档说明146

6.2.4 调用函数147

6.2.5 理解抽象147

6.3 使用参数和返回值147

6.3.1 Receive and Return程序简介148

6.3.2 通过参数获取信息149

6.3.3 通过返回值反馈信息149

6.3.4 理解封装150

6.3.5 在同一个函数中接收和返回值150

6.3.6 理解软件复用151

6.4 使用关键字参数和默认参数值152

6.4.1 Birthday Wishes程序简介152

6.4.2 使用位置形参和位置实参153

6.4.3 使用位置形参和关键字实参154

6.4.4 使用默认参数值154

6.5 使用全局变量和常量156

6.5.1 理解作用域156

6.5.2 Global Reach程序简介157

6.5.3 从函数内部读取全局变量158

6.5.4 在函数内部屏蔽全局变量158

6.5.5 从函数内部修改全局变量159

6.5.6 理解何时使用全局变量和常量159

6.6 回到Tic-Tac-Toe游戏160

6.6.1 规划Tic-Tac-Toe游戏160

6.6.2 准备工作162

6.6.3 display_instruct()函数162

6.6.4 ask_yes_no()函数163

6.6.5 ask number()函数163

6.6.6 pieces()函数164

6.6.7 new board()函数164

6.6.8 display_board()数164

6.6.9 legal moves()函数165

6.6.10 winner()函数165

6.6.11 human_move()函数166

6.6.12 computer move()函数167

6.6.13 next_turn()函数169

6.6.14 congrat winner()函数169

6.6.15 main()函数170

6.6.16 启动程序171

6.7 小结171

第7章 文件和异常:Trivia Challenge游戏172

7.1 Trivia Challenge游戏简介172

7.2 读取文本文件173

7.2.1 Read It程序简介173

7.2.2 文件的打开和关闭175

7.2.3 按字符读取文件176

7.2.4 按行读取文件177

7.2.5 将所有行读取为一个列表178

7.2.6 对文件进行循环遍历178

7.3 写入文本文件179

7.3.1 Write It程序简介179

7.3.2 将字符串写入到文件180

7.3.3 将字符串列表写入到文件180

7.4 在文件中存储复杂数据182

7.4.1 Pickle It程序简介182

7.4.2 对数据进行Pickle处理并写入文件182

7.4.3 读取文件中的数据并进行反Pickle处理184

7.4.4 通过shelf保存序列化对象185

7.4.5 通过shelf获取序列化对象186

7.5 处理异常187

7.5.1 Handle It程序简介187

7.5.2 使用try语句及except子句188

7.5.3 指定异常类型188

7.5.4 处理多种异常190

7.5.5 获取异常的参数191

7.5.6 力上一个else子句191

7.6 回到Trivia Challenge游戏192

7.6.1 理解数据文件结构192

7.6.2 open_file()函数193

7.6.3 next_line()函数194

7.6.4 next_block()函数194

7.6.5 welcome()函数195

7.6.6 游戏初始化设置195

7.6.7 提出问题195

7.6.8 获取答案196

7.6.9 判断答案196

7.6.10 获取下一个问题196

7.6.11 结束游戏196

7.6.12 启动main()函数197

7.7 小结197

第8章 软件对象:Critter Caretaker程序198

8.1 Critter Caretaker程序简介198

8.2 理解面向对象基础知识200

8.3 创建类、方法和对象200

8.3.1 Simple Critter程序简介201

8.3.2 定义类202

8.3.3 定义方法202

8.3.4 实例化对象203

8.3.5 调用方法203

8.4 使用构造器203

8.4.1 Constructor Critter程序简介203

8.4.2 创建构造器204

8.4.3 创建多个对象205

8.5 使用特性205

8.5.1 Attribute Critter程序简介205

8.5.2 初始化特性207

8.5.3 访问特性208

8.5.4 打印对象208

8.6 使用类特性和静态方法209

8.6.1 Classy Critter程序简介209

8.6.2 创建类特性211

8.6.3 访问类特性211

8.6.4 创建静态方法212

8.6.5 调用静态方法212

8.7 理解对象封装213

8.8 使用私有特性和私有方法213

8.8.1 Private Critter程序简介214

8.8.2 创建私有特性214

8.8.3 访问私有特性215

8.8.4 创建私有方法216

8.8.5 访问私有方法216

8.8.6 尊重对象的隐私217

8.8.7 理解何时该实现私有策略217

8.9 控制对特性的访问218

8.9.1 PropertyCritter程序简介218

8.9.2 创建属性219

8.9.3 访问属性220

8.10 回到Critter Caretaker程序221

8.10.1 Critter类222

8.10.2 创建Critter224

8.10.3 创建菜单系统224

8.10.4 启动程序225

8.11 小结225

第9章 面向对象编程:Blackjack游戏227

9.1 Blackjack游戏简介227

9.2 发送和接收消息228

9.2.1 Alien Blaster程序简介228

9.2.2 发送消息230

9.2.3 接收消息231

9.3 组合多个对象231

9.3.1 Playing Cards程序简介231

9.3.2 创建Card类232

9.3.3 创建Hand类232

9.3.4 使用Card对象233

9.3.5 通过Hand对象将多个Card对象组合起来234

9.4 通过继承创建新类235

9.5 通过继承扩展类235

9.5.1 Playing Cards 2.0程序简介235

9.5.2 创建一个基类236

9.5.3 继承基类237

9.5.4 扩展派生类238

9.5.5 使用派生类239

9.6 改变继承方法的行为241

9.6.1 Playing Cards 3.0程序简介241

9.6.2 创建基类242

9.6.3 重写基类方法242

9.6.4 调用基类方法243

9.6.5 使用派生类244

9.7 理解多态245

9.8 创建模块245

9.8.1 Simple Game程序简介246

9.8.2 编写模块246

9.8.3 引入模块248

9.8.4 使用引入的函数和类248

9.9 回到Blackjack游戏249

9.9.1 cards模块249

9.9.2 对类进行设计251

9.9.3 为游戏循环编写伪码252

9.9.4 引入cards和games模块253

9.9.5 BJ_Card类253

9.9.6 BJ_Deck类254

9.9.7 BJ_Hantd类254

9.9.8 BJ_Player类256

9.9.9 BJ_Dealer类256

9.9.10 BJ_Game类257

9.9.11 main()函数259

9.10 小结260

第10章 GUI开发:Mad Lib程序262

10.1 Mad Lib程序简介262

10.2 详解GUI264

10.3 理解事件驱动编程265

10.4 使用根窗体266

10.4.1 Simple GUI程序简介266

10.4.2 引入tkinter 模块268

10.4.3 创建根窗体268

10.4.4 修整根窗体268

10.4.5 进入根窗体的事件循环269

10.5 使用标签269

10.5.1 Labeler程序简介269

10.5.2 准备工作269

10.5.3 创建框架270

10.5.4 创建标签270

10.5.5 进入根窗体的事件循环271

10.6 使用按钮271

10.6.1 LazyButtons程序简介271

10.6.2 准备工作271

10.6.3 创建按钮272

10.6.4 进入根窗体的事件循环273

10.7 利用类创建GUI273

10.7.1 LazyButtons 2程序简介273

10.7.2 引入tkinter模块273

10.7.3 定义Application类273

10.7.4 定义构造器方法274

10.7.5 定义一个用于创建小部件的方法274

10.7.6 创建Application对象275

10.8 将小部件与事件处理器绑定起来275

10.8.1 Click Counter程序简介275

10.8.2 准备工作275

10.8.3 绑定事件处理器276

10.8.4 创建事件处理器276

10.8.5 程序收尾工作277

10.9 使用Text和Entry小部件以及Grid布局管理器277

10.9.1 Longevity程序简介277

10.9.2 准备工作278

10.9.3 利用Grid布局管理器放置小部件278

10.9.4 创建Entry小部件279

10.9.5 创建Text小部件280

10.9.6 利用文本型小部件获取和插入文本280

10.9.7 收尾工作281

10.10 使用复选框282

10.10.1 Movie Chooser程序简介282

10.10.2 准备工作282

10.10.3 使小部件的容器成为其唯一的引用283

10.10.4 创建复选框283

10.10.5 获取复选框的状态285

10.10.6 收尾工作285

10.11 使用单选框286

10.11.1 MovieChooser2程序简介286

10.11.2 准备工作286

10.11.3 创建单选框287

10.11.4 从一组单选框中获取选定值288

10.11.5 收尾工作289

10.12 回到Mad Lib程序289

10.12.1 引入tkinter模块289

10.12.2 Application类的构造器方法289

10.12.3 Application类的create_widgets()方法290

10.12.4 Application类的tell_story()方法292

10.12.5 程序的主体部分293

10.13 小结293

第11章 图形图像:Plzza Panic游戏294

11.1 Pizza Panic游戏简介294

11.2 pygame和livewires简介296

11.3 创建图形窗口296

11.3.1 New Graphics Window程序简介297

11.3.2 引入games模块297

11.3.3 初始化图形屏幕298

11.3.4 启动主循环298

11.4 设置背景图片299

11.4.1 Background Image程序简介299

11.4.2 加载图片300

11.4.3 设置背景301

11.5 理解图形坐标系统301

11.6 显示sprite302

11.6.1 Pizza Sprite程序简介303

11.6.2 为sprite加载图片304

11.6.3 创建sprite305

11.6.4 把sprite放到屏幕上面去305

11.7 显示文本307

11.7.1 Big Score程序简介307

11.7.2 引入color模块308

11.7.3 创建Text对象308

11.7.4 向屏幕添加Text对象309

11.8 显示消息309

11.8.1 YouWon程序简介309

11.8.2 引入color模块311

11.8.3 创建Message对象311

11.8.4 使用屏幕的高度和宽度312

11.8.5 把Message对象放到屏幕上面去312

11.9 移动sprite312

11.9.1 Moving Pizza程序简介312

11.9.2 设置sprite的速度值314

11.10 处理屏幕边界314

11.10.1 Bouncing Pizza程序简介314

11.10.2 准备工作315

11.10.3 从Sprite派生出…个新类315

11.10.4 重写update()方法316

11.10.5 收尾工作316

11.11 处理鼠标输入317

11.11.1 MovingPan程序简介317

11.11.2 准备工作318

11.11.3 读取鼠标的x和y坐标318

11.11.4 设置鼠标光标的可见性319

11.11.5 捕获图形屏幕中的输入319

11.11.6 收尾工作320

11.12 碰撞检测320

11.12.1 Slippery Pizza程序简介320

11.12.2 准备工作322

11.12.3 碰撞检测322

11.12.4 碰撞处理322

11.12.5 收尾工作323

11.13 回到Pizza Panic游戏324

11.13.1 准备工作324

11.13.2 Pan类324

11.13.3 Pizza类326

11.13.4 Chef类328

11.13.5 main()函数329

11.14 小结330

第12章 声音、动画以及程序开发:Astrocrash游戏332

12.1 Astrocrash游戏简介332

12.2 读取键盘334

12.2.1 Read Key程序简介334

12.2.2 准备工作334

12.2.3 按键判断335

12.2.4 收尾工作336

12.3 旋转sprite336

12.3.1 Rotate Sprite程序简介336

12.3.2 使用Sprite的angle属性338

12.4 创建动画339

12.4.1 Explosion程序简介339

12.4.2 爆炸图片说明339

12.4.3 准备工作340

12.4.4 创建图片文件列表340

12.4.5 创建Animation对象341

12.5 播放声音和音乐342

12.5.1 Sound and Music程序简介342

12.5.2 操作声音342

12.5.3 操作音乐345

12.5.4 收尾工作346

12.6 规划Astroorash游戏346

12.6.1 游戏的功能347

12.6.2 游戏的类347

12.6.3 游戏的资源348

12.7 创建小行星348

12.7.1 Astrocrash01程序简介348

12.7.2 准备工作349

12.7.3 Asteroid类349

12.7.4 main()函数351

12.8 旋转飞船351

12.8.1 Astrocrash02程序简介351

12.8.2 Ship类352

12.8.3 实例化Ship对象353

12.9 移动飞船353

12.9.1 Astrocrash03程序简介353

12.9.2 引入math模块354

12.9.3 为Ship类添加类变量和常量354

12.9.4 修改Ship的update()方法354

12.10 发射导弹355

12.10.1 Astrocrash04程序简介356

12.10.2 修改Ship的update()方法356

12.10.3 Missile类357

12.11 控制导弹发射的频率359

12.11.1 Astrocrash05程序简介359

12.11.2 为Ship类添加一个类常量360

12.11.3 为Ship类创建构造器方法360

12.11.4 修改Ship类的update()方法360

12.12 处理碰撞361

12.12.1 Astrocrash06程序简介361

12.12.2 修改Missile类的update()方法362

12.12.3 为Missile类添加die()方法362

12.12.4 修改Ship类的update()方法362

12.12.5 为Ship类添加die()方法362

12.12.6 为Asteroid类添加一个类常量363

12.12.7 为Asteroid类添加die()方法363

12.13 添加爆炸效果363

12.13.1 Astrocrash07程序简介363

12.13.2 Wrapper类364

12.13.3 Collider类365

12.13.4 修改Asteroid类366

12.13.5 修改Ship类366

12.13.6 修改Missile类367

12.13.7 Explosion类367

12.14 添加难度级别、得分记录以及背景音乐368

12.14.1 Astrocrash08程序简介368

12.14.2 引入color模块369

12.14.3 Game类369

12.14.4 为Asteroid类添加类变量和类常量373

12.14.5 修改Asteroid类的构造器方法373

12.14.6 修改Asteroid类的die()方法374

12.14.7 为Ship类添加类常量374

12.14.8 修改Ship类的构造器方法375

12.14.9 修改Ship类的update()方法375

12.14.10 为Ship类添加die()方法375

12.14.11 main()函数375

12.15 小结376

附录A 配套网站377

附录B livewires参考379

热门推荐