计算机python程序设计导论,程序设计导论:Python计算与应用开发实践(原书第2版)...

程序设计导论:Python计算与应用开发实践(原书第2版)

语音

编辑

锁定

讨论

上传视频

《程序设计导论:Python计算与应用开发实践(原书第2版)》是2018年机械工业出版社出版的图书,作者是[美] 卢博米尔·佩尔科维奇(Ljubomir Perkovic)。

书    名

程序设计导论:Python计算与应用开发实践(原书第2版)

作    者

[美] 卢博米尔·佩尔科维奇(Ljubomir Perkovic)

ISBN

9787111611608定    价

99元

出版社

机械工业出版社

出版时间

2018年11月

开    本

16开

程序设计导论:Python计算与应用开发实践(原书第2版)内容简介

编辑

语音

本书不仅仅是传统的程序设计导论性教材,而且囊括了包罗万象的计算机科学。书中采用Python作为学生的第一门程序设计语言,提出“正确的时刻+正确的工具”的教学方法,尤为重视应用程序的开发训练和计算思维的培养,易于教学和实践。书中首先讲解命令式编程,但也很早便引入了对象的概念;在学生具备足够的基础知识也更有学习动力之后,书中开始讲解自定义类、面向对象编程等更多高级技巧。书中涵盖了问题求解的核心技术和各类经典算法,这一版还增加了案例章节,所涉及的广度也有所拓展。[1]

程序设计导论:Python计算与应用开发实践(原书第2版)图书目录

编辑

语音

出版者的话

译者序

前言

第1章 计算机科学导论 1

1.1 计算机科学 1

1.1.1 计算机专业人员的工作 1

1.1.2 模型、算法和程序 2

1.1.3 必备的工具 3

1.1.4 什么是计算机科学 3

1.2 计算机系统 3

1.2.1 计算机硬件 3

1.2.2 操作系统 4

1.2.3 网络和网络协议 5

1.2.4 程序开发语言 5

1.2.5 软件库 6

1.3 Python程序设计语言 6

1.3.1 Python简史 6

1.3.2 构建Python开发环境 7

1.4 计算思维 7

1.4.1 一个示例问题 8

1.4.2 抽象和建模 8

1.4.3 算法 9

1.4.4 数据类型 9

1.4.5 赋值语句和执行控制结构 10

1.4.6 本章小结 11

第2章 Python数据类型 12

2.1 表达式、变量和赋值语句 12

2.1.1 代数表达式和函数 12

2.1.2 布尔表达式和运算符 14

2.1.3 变量和赋值语句 16

2.1.4 变量名称 18

2.2 字符串 18

2.2.1 字符串运算符 19

2.2.2 索引运算符 21

2.3 列表和元组 22

2.3.1 列表运算符 22

2.3.2 列表是可变类型,字符串是不可变类型 24

2.3.3 元组 24

2.3.4 元组和列表的方法 26

2.4 对象和类 28

2.4.1 对象类型 28

2.4.2 数值类型的有效值 29

2.4.3 数值类型的运算符 30

2.4.4 创建对象 32

2.4.5 隐式类型转换 32

2.4.6 显式类型转换 33

2.4.7 类方法和面向对象的程序设计 34

2.5 Python标准库 35

2.5.1 math模块 35

2.5.2 fractions模块 36

2.6 电子教程案例研究:海龟图形 37

2.7 本章小结 37

2.8 练习题答案 37

2.9 习题 39

第3章 命令式编程 43

3.1 Python程序 43

3.1.1 我们的第一个Python程序 43

3.1.2 Python模块 45

3.1.3 内置函数print() 45

3.1.4 使用input()函数实现交互式输入 46

3.1.5 eval()函数 47

3.2 执行控制结构 47

3.2.1 单分支结构 48

3.2.2 双分支结构 51

3.2.3 循环结构 52

3.2.4 嵌套的控制流结构 55

3.2.5 range()函数 55

3.3.1 我们自定义的第一个函数 57

3.3.2 函数输入参数 58

3.3.3 print()与return的比较 59

3.3.4 函数定义实际上是“赋值”语句 60

3.3.5 注释 61

3.3.6 文档字符串 61

3.4 Python变量和赋值语句 63

3.4.1 可变类型和不可变类型 63

3.4.2 赋值语句和可变性 65

3.4.3 交换 66

3.5 参数传递 67

3.5.1 不可变类型参数传递 67

3.5.2 可变类型参数传递 69

3.6 电子教程案例研究:自动化海龟图形 70

3.7 本章小结 70

3.8 练习题答案 70

3.9 习题 73

3.10 思考题 74

第4章 文本数据、文件和异常 77

4.1 深入研究字符串 77

4.1.1 字符串表示 77

4.1.2 深入研究索引运算符 79

4.1.3 字符串方法 80

4.2 格式化输出 83

4.2.1 函数print() 83

4.2.2 字符串方法format() 84

4.2.3 按列对齐排列数据 86

4.2.4 获取与格式化日期和时间 89

4.3 文件 91

4.3.1 文件系统 91

4.3.2 打开和关闭文件 92

4.3.3 读取文本文件的模式 96

4.3.4 写入文本文件 98

4.4 错误和异常 99

4.4.1 语法错误 100

4.4.2 内置异常 100

4.5 电子教程案例研究:图像文件 102

4.6 本章小结 102

4.7 练习题答案 103

4.8 习题 104

4.9 思考题 106

第5章 执行控制结构 108

5.1 选择控制和if语句 108

5.1.1 三路以及多路分支 108

5.1.2 条件的排列顺序 110

5.2 for循环和迭代模式 111

5.2.1 循环模式:迭代循环 111

5.2.2 循环模式:计数器循环 112

5.2.3 循环模式:累加器循环 114

5.2.4 其他类型的累加 115

5.2.5 循环模式:嵌套循环 117

5.3 深入研究列表:二维列表 119

5.3.1 二维列表 119

5.3.2 二维列表和嵌套循环模式 120

5.4 while循环 122

5.5 更多循环模式 124

5.5.1 循环模式:序列循环 124

5.5.2 循环模式:无限循环 125

5.5.3 循环模式:循环和折半 126

5.6 其他迭代控制语句 127

5.6.1 break语句 127

5.6.2 continue语句 128

5.6.3 pass语句 129

5.7 电子教程案例研究:图像处理 129

5.8 本章小结 130

5.9 练习题答案 130

5.10 习题 133

5.11 思考题 134

第6章 容器和随机性 140

6.1 字典 140

6.1.1 用户自定义索引作为字典的动机 140

6.1.2 字典类属性 141

6.1.3 字典运算符 143

6.1.4 字典方法 144

6.1.5 字典作为多路分支if语句的替代方法 146

6.1.6 字典作为计数器集合 147

6.1.7 元组对象可以作为字典的键 149

6.2 集合 150

6.2.1 使用set构造函数移除重复项 151

6.2.2 set运算符 152

6.2.3 set方法 153

6.3 字符编码和字符串 154

6.3.1 字符编码 154

6.3.2 ASCII 154

6.3.3 Unicode 156

6.3.4 Unicode字符的UTF-8编码 158

6.4 random模块 158

6.4.1 选择一个随机整数 159

6.4.2 选择一个随机“实数” 160

6.4.3 随机混排、挑选和抽样 161

6.5 电子教程案例研究:机会游戏 161

6.6 本章小结 162

6.7 练习题答案 162

6.8 习题 165

6.9 思考题 166

第7章 名称空间 171

7.1 函数封装 171

7.1.1 代码重用 172

7.1.2 模块化 172

7.1.3 封装 172

7.1.4 局部变量 172

7.1.5 与函数调用相关的名称空间 173

7.1.6 名称空间与程序栈 174

7.2 全局名称空间和局部名称空间 177

7.2.1 全局变量 178

7.2.2 局部作用范围的变量 178

7.2.3 全局作用范围的变量 179

7.2.4 在函数中改变全局变量 180

7.3 异常控制流 181

7.3.1 异常和异常控制流 182

7.3.2 捕获和处理异常 183

7.3.3 默认异常处理程序 184

7.3.4 捕获给定类型的异常 184

7.3.5 多重异常处理程序 185

7.3.6 控制异常流 186

7.4 模块作为名称空间 189

7.4.1 模块属性 189

7.4.2 导入模块时发生了什么 190

7.4.3 模块搜索路径 190

7.4.4 顶层模块 192

7.4.5 导入模块属性的不同方法 193

7.5 类作为名称空间 195

7.5.1 一个类是一个名称空间 195

7.5.2 类方法是在类名称空间中定义的函数 196

7.6 电子教程案例研究:使用调试器进行调试 197

7.7 本章小结 197

7.8 练习题答案 197

7.9 习题 199

7.10 思考题 200

第8章 面向对象的程序设计 202

8.1 定义新的Python类 202

8.1.1 类Point的方法 202

8.1.2 类和名称空间 203

8.1.3 每个对象都有一个关联的名称空间 204

8.1.4 类Point的实现 204

8.1.5 实例变量 206

8.1.6 实例继承类属性 206

8.1.7 类定义的一般格式 207

8.1.8 编写类的文档 208

8.1.9 类Animal 208

8.2 用户自定义类示例 210

8.2.1 构造函数重载 210

8.2.2 默认构造函数 211

8.2.3 扑克牌类 212

8.3 设计新的容器类 213

8.3.1 设计一个表示一副扑克牌的类 213

8.3.2 实现Deck类 214

8.3.3 容器类Queue 215

8.3.4 实现Queue类 216

8.4 运算符重载 217

8.4.1 运算符是类方法 218

8.4.2 使Point类对用户友好 220

8.4.3 构造函数和repr()运算符之间的约定 221

8.4.4 使Queue类对用户友好 223

8.5 继承 225

8.5.1 继承类的属性 225

8.5.2 类定义的一般格式 227

8.5.3 重写父类方法 227

8.5.4 扩展父类方法 229

8.5.5 通过继承list实现一个Queue类 231

8.6 用户自定义异常 232

8.6.1 抛出一个异常 232

8.6.2 用户自定义异常类 233

8.6.3 改进类Queue的封装 234

8.7 电子教程案例研究:索引和迭代器 234

8.8 本章小结 235

8.9 练习题答案 235

8.10 习题 237

8.11 思考题 239

第9章 图形用户界面 246

9.1 tkinter图形用户界面开发基本知识 246

9.1.1 组件Tk:GUI窗口 246

9.1.2 组件Label:显示文本 247

9.1.3 显示图像 248

9.1.4 布局组件 249

9.1.5 将组件布局为表格 251

9.2 基于事件的tkinter组件 253

9.2.1 Button组件及事件处理程序 253

9.2.2 事件、事件处理程序和mainloop() 255

9.2.3 Entry组件 256

9.2.4 Text组件和绑定事件 258

9.2.5 事件模式和tkinter类Event 259

9.3 设计图形用户界面 261

9.3.1 组件Canvas 261

9.3.2 作为组织容器的组件Frame 264

9.4 面向对象的图形用户界面 265

9.4.1 GUI面向对象程序设计基本知识 266

9.4.2 把共享组件赋值给实例变量 268

9.4.3 把共享数据赋值给实例变量 269

9.5 电子教程案例研究:开发一个计算器 271

9.6 本章小结 271

9.7 练习题答案 271

9.8 习题 275

9.9 思考题 275

第10章 递归 278

10.1 递归简介 278

10.1.1 调用自身的函数 278

10.1.2 停止条件 279

10.1.3 递归函数的特性 280

10.1.4 递归思想 281

10.1.5 递归函数调用和程序栈 282

10.2 递归示例 284

10.2.1 递归数列模式 284

10.2.2 分形图形 286

10.2.3 病毒扫描 289

10.2.4 线性递归 292

10.3 运行时间分析 294

10.3.1 指数函数 294

10.3.2 运算次数 295

10.3.3 斐波那契数列 296

10.3.4 运行时间的实验分析 298

10.4 查找 300

10.4.1 线性查找 300

10.4.2 二分查找 301

10.4.3 线性查找和二分查找比较 303

10.4.4 唯一性测试 304

10.4.5 选择第k个最大(或最小)项 305

10.4.6 计算出现频率最多的项 305

10.5 电子教程案例研究:汉诺塔 306

10.6 本章小结 306

10.7 练习题答案 306

10.8 习题 308

10.9 思考题 309

第11章 Web和搜索 315

11.1 万维网 315

11.1.1 Web服务器和Web客户端 315

11.1.2 WWW的“管道” 316

11.1.3 命名方案:统一资源定位器 316

11.1.4 协议:超文本传输协议 317

11.1.5 超文本标记语言 318

11.1.6 HTML元素 318

11.1.7 HTML文档的树结构 320

11.1.8 锚点HTML元素和绝对链接 320

11.1.9 相对链接 321

11.2 Python WWW API 321

11.2.1 模块urllib.request 322

11.2.2 模块html.parser 324

11.2.3 重载HTMLParser处理程序 325

11.2.4 模块urllib.parse 327

11.2.5 收集HTTP超链接的解析器 327

11.3 字符串模式匹配 329

11.3.1 正则表达式 329

11.3.2 Python标准库模块re 332

11.4 电子教程案例研究:Web爬虫 333

11.5 本章小结 333

11.6 练习题答案 334

11.7 习题 335

11.8 思考题 336

第12章 数据库和数据处理 339

12.1 数据库和SQL 339

12.1.1 数据库表 339

12.1.2 结构化查询语言 341

12.1.3 SELECT语句 341

12.1.4 WHERE子句 343

12.1.5 内置SQL函数 345

12.1.6 GROUP BY子句 345

12.1.7 多表SQL查询 346

12.1.8 CREATE TABLE语句 347

12.1.9 INSERT和UPDATE语句 348

12.2 Python中的数据库编程 349

12.2.1 数据库引擎和SQLite 349

12.2.2 使用sqlite3创建一个数据库 349

12.2.3 提交数据库更改和关闭数据库 351

12.2.4 使用sqlite3查询数据库 351

12.3 函数语言方法 353

12.3.1 列表解析 354

12.3.2 MapReduce问题求解框架 355

12.3.3 MapReduce的抽象概念 358

12.3.4 倒排索引 359

12.4 并行计算 361

12.4.1 并行计算简介 362

12.4.2 multiprocessing模块中的Pool类 362

12.4.3 并行加速比 364

12.4.4 并行MapReduce 366

12.4.5 并行和顺序MapReduce 366

12.5 电子教程案例研究:数据交换 369

12.6 本章小结 369

12.7 练习题答案 369

12.8 习题 372

12.9 思考题 373

词条图册

更多图册

参考资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue-cli 将被 create-vue 替代?初始化基于 vite 的 vue3 项目为何如此简单?

大家好,我是若川。最近组织了源码共读活动《1个月,200人,一起读了4周源码》,已经有超50人提交了笔记,群里已经有超1500人,感兴趣的可以点此链接扫码加我微信 ruochuan12create-vue公开了,可以使…

lynda ux_如何进入UX领域

lynda uxI often get asked “What is the right path I should take to get into UX?” and more often than not, I do not have a direct answer. I usually ask a lot of questions about their background, before assessing their current skills with the things they …

php字符串学习笔记

在这里记录下今天的所得首先对字符串处理进行分类今天主要记录有以下字符串的格式化字符串的连接与分割字符串的比较使用字符串函数匹配和替换子字符串使用正则表达式1.字符串的格式化<?php //整理字符串的第一步是清理字符串中的多余的空格 // trim() ltrim() rtrim() // …

This is a Blog Test

Blog Test Hello, everyone! I am going to write blog to record the knowledge about the computer technology involved when I study. Please feel free to comment on any mistakes. Thank you! print("Hello")转载于:https://blog.51cto.com/12370958/2379111

可以测试体育跑步的软件,某高校现跑步打卡神器 能检测出是在走还是跑

[摘要]近日&#xff0c;一批高大上的“阳光跑步神器”在东莞一所高校火了&#xff01;之所以称之“神器”&#xff0c;是由于这批机器能检测到你在走路还是在跑步&#xff0c;如果走路数据将中断。消息一出&#xff0c;学生们有赞成&#xff0c;也有大呼“吃不消”。东莞某高校…

一道很熟悉的前端面试题,你怎么答?

大家好&#xff0c;我是若川。最近这几年&#xff0c;云计算的普及和 HTML5 技术的快速发展&#xff0c;越来越多的应用转向了浏览器 / 服务器&#xff08;B/S&#xff09;架构&#xff0c;这种改变让浏览器的重要性与日俱增&#xff0c;视频、音频、游戏几大核心场景也都在逐渐…

:寻找指定和的整数对_寻找时间:如何增加设计的时间

:寻找指定和的整数对Good design derives from good thinking. And good thinking is highly correlated to how much time you spend. In every place I’ve been though, every designer seems to be thirsty for more time to design. Why does this happen, to a point whe…

JavaScript命名空间namespace的实现方法

网上有很多了&#xff0c;这里给出一个&#xff0c;其实思路就是A{}; A.b{};其实b是A的一个属性。只是做了一些封装&#xff0c;最后的效果是可以直接定义多个namespace&#xff1a; 1: My.namespace("Company", "Company.Feed", "Company.Feed.Mess…

通过MySQL存储原理来分析排序和锁

先抛出几个问题1.为什么不建议使用订单号作为主键?2.为什么要在需要排序的字段上加索引?3.for update 的记录不存在会导致锁住全表?4.redolog 和 binlog 有什么区别?5.MySQL 如何回滚一条 sql ?6.char(50) 和 varchar(50) 效果是一样的么?索引知识回顾对于 MySQL 数据库而…

1600k 打印头测试软件,巧修LQ-1600K打印机打印头

LQ-1600K 24针中英文打印机&#xff0c;由于其打印速度快、输出的文字漂亮、软件兼容性好等优点&#xff0c;在国内得到极为广泛的应用。但该机的打印头及打印针驱动电路故障率较高&#xff0c;一旦出现此类故障&#xff0c;打印效果将大打折扣。本人在长期维修工作中&#xff…

linkedin爬虫_重新设计Linkedin的指导功能-用户体验案例研究

linkedin爬虫为什么选择导师 Linkedin平台&#xff1f; (Why mentorship Linkedin platform?) As a recent graduate, I went on Linkedin to seek career advice and mentorship. This idea came so naturally that I was quite surprised by the absence of a complete fea…

POJ 1797 Heavy Transportation 解题报告

分类&#xff1a;图论&#xff0c;生成树&#xff0c;最短路&#xff0c;并查集作者&#xff1a;ACShiryu时间&#xff1a;2011-7-28地址&#xff1a;ACShiryus BlogHeavy TransportationTime Limit: 3000MSMemory Limit: 30000KTotal Submissions: 11929Accepted: 3171Descrip…

曾以为只能拿8K,22届学弟字节校招心路历程

大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1500人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12这篇文章记录了江西师大学弟进入字节…

王者荣耀cpu测试软件,你的手机能否玩王者荣耀,主流处理器新版王者荣耀测试...

说道国民级手游&#xff0c;目前来看那绝对是王者荣耀和刺激战场&#xff0c;之前的话那可是王者荣耀的天下&#xff0c;甚至许多手机厂商在发布新手机的时候会专门公布王者荣耀的帧率&#xff0c;可见王者荣耀带来的影响有多大。新版王者荣耀随着王者荣耀的优化和手机系统、硬…

关于MFC遇到的一系列类型转换问题

1.LPTSTR 转换成 CString&#xff1a; (1)直接赋值 CString strText; LPTSTR lpszText _T("LPTSTR >> CString"); strText lpszText; ::MessageBox( NULL, strText , _T("标题"), MB_ICONASTERISK|MB_TASKMODAL|MB_OK );(2)CString::Format()格式化…

大萧条时期什么行业走俏_大流行时期的用户体验

大萧条时期什么行业走俏You’ve read a lot about uncertain times and social distancing. We’re all surrounded by the same words, but what exactly do they mean for the UX people? The nearest future is just the tip of the iceberg. The COVID-19 pandemic is lik…

vsftp虚拟用户无法上传文件,解决办法

vsftp虚拟用户无法上传文件&#xff0c;解决办法 1、打开/etc/vsftpd 目录中的vsftpd.conf文件&#xff0c;查找&#xff1a;guest_usernamexxx&#xff0c;这里指的是vsftpd虚拟用户对应的实 际系统用户。 2、将该xxx用户的R权限赋予想要上传的目录&#xff1a;chown -R xxx.x…

面试官问:来实现一个Promise

大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1500人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12 参与&#xff0c;一起学习&#xff…

奇迹暖暖服务器不稳定,闪耀暖暖用土豆当服务器?开服仅半小时就崩溃,无数玩家疯狂吐槽...

大家好&#xff0c;这里是正惊游戏&#xff0c;我是你们的正惊小弟。继奇迹暖暖之后&#xff0c;叠纸游戏的3D换装类游戏《闪耀暖暖》于昨天正式开启了全平台公测。就在大家想要上游戏给女儿买好看的衣服时&#xff0c;发现游戏的服务器崩了&#xff0c;谁都登录不上去&#xf…

D2 日报 2019年4月17日

? 新闻 ➡️ Is React Translated Yet? ¡S! Sim! はい&#xff01; react 文档翻译了多种语言reactjs.org? 开源项目 ➡️ formal/packages/formal-web at master kevinwolfcr/formal React Hooks 版本的 rc-form&#xff0c;集成了 React 表单组件通用的的非受控值缓…