前言

第1章 程序设计和Python 1

1.1 计算机和程序1

1.1.1 “是什么”和“怎样做”的知识1

1.1.2 计算和程序3

1.1.3 编程语言7

1.2 Python语言简介10

1.2.1 Python语言的发展和应用10

1.2.2 Python系统和IDLE编程环境13

1.3 程序开发15

1.3.1 程序开发过程15

1.3.2 程序错误16

1.3.3 从问题到程序19

练习22

第2章 计算和编程初步 23

2.1 数值表达式和算术23

2.1.1 整数计算23

2.1.2 浮点数和复数27

2.2 数据对象、计算和类型29

2.2.1 对象和类型29

2.2.2 混合类型计算和类型转换30

2.2.3 数值类型和计算的简单总结31

2.3 内置函数和数学函数包32

2.3.1 函数及其使用33

2.3.2 处理数值的内置函数33

2.3.3 数学函数包34

2.4 字符串35

2.4.1 字符串和字符串类型35

2.4.2 字符串操作36

2.5 标识符、变量和赋值38

2.5.1 变量、名字和值38

2.5.2 简单顺序计算40

2.6 简单脚本程序41

2.6.1 脚本的编辑和执行41

2.6.2 程序和输入43

2.7 判断和条件控制45

2.7.1 条件判断和逻辑表达式45

2.7.2 if语句(条件语句)46

2.7.3 编程实例48

2.8 重复计算和循环49

2.8.1 重复计算50

2.8.2 for语句和重复计算51

2.8.3 while语句和迭代53

2.8.4 循环控制56

2.9 计算的抽象和函数56

2.9.1 计算的控制和抽象56

2.9.2 计算的抽象:函数57

2.9.3 函数定义和使用实例60

2.10 若干Python机制及其他62

2.10.1 已讨论的Python机制62

2.10.2 若干Python机制62

2.10.3 Python解释器64

2.11 补充材料64

2.11.1 语言细节65

2.11.2 编程技术70

练习71

第3章 基本编程技术 77

3.1 循环程序设计77

3.1.1 循环的需求和问题78

3.1.2 常见循环形式80

3.1.3 输入循环86

3.2 递归89

3.2.1 递归定义的函数89

3.2.2 乘幂的计算90

3.2.3 循环和递归91

3.2.4 斐波那契数列的计算92

3.2.5 最大公约数97

3.2.6 不容易用循环求解的递归问题100

3.2.7 更复杂的递归情况103

3.3 程序终止性103

3.3.1 调和级数的部分和104

3.3.2 程序终止性不可判定104

3.4 定义函数105

3.4.1 为什么定义函数105

3.4.2 学习定义函数108

3.4.3 函数:两种观点及其联系111

3.4.4 通用和专用的方法117

练习120

第4章 函数和程序结构 124

4.1 作用域、环境和状态124

4.1.1 作用域与函数定义124

4.1.2 环境和状态126

4.1.3 程序执行中的环境变化129

4.1.4 模块和环境133

4.2 函数定义和函数调用135

4.2.1 函数定义的结构135

4.2.2 函数调用中的问题140

4.2.3 带默认值形参和关键字实参143

4.3 编程框架和高阶函数145

4.3.1 编程框架和函数的函数参数145

4.3.2 匿名函数和lambda表达式149

4.3.3 随机数和模拟153

4.3.4 高阶函数155

4.4 程序的测试和调试156

4.4.1 测试157

4.4.2 排除程序里的错误162

4.4.3 使用IDLE的调试功能163

4.4.4 程序测试问题165

4.5 补充材料166

4.5.1 语言细节166

4.5.2 编程技术和规则169

练习169

第5章 数据的组织和操作 172

5.1 组合数据对象172

5.2 表173

5.2.1 简介174

5.2.2 表的构造和操作175

5.2.3 编程实例178

5.3 元组183

5.3.1 基础183

5.3.2 有理数程序包185

5.3.3 打包和拆分187

5.4 序列、不变对象和可变对象189

5.4.1 序列和序列操作189

5.4.2 描述式194

5.4.3 对象、变动和变量关联196

5.4.4 一些程序实例202

5.4.5 表处理204

5.5 字符串及其格式化生成209

5.5.1 字符串操作209

5.5.2 字符串的格式化213

5.5.3 一个简单的交互式计算器216

5.6 字典217

5.6.1 概念和操作218

5.6.2 字典与函数参数221

5.6.3 字典的应用实例222

5.7 集合224

5.7.1 概念和操作224

5.7.2 集合操作226

5.8 程序实例228

5.8.1 多项式计算228

5.8.2 另一个筛法实例231

5.9 若干语言和技术问题232

5.9.1 逻辑类型和逻辑判断232

5.9.2 函数参数的总结235

5.10 补充材料236

5.10.1 语言细节236

5.10.2 编程技术240

练习241

第6章 高级编程技术 248

6.1 文件:使用外存数据248

6.1.1 文件和输入/输出249

6.1.2 Python的文件功能251

6.1.3 文件处理程序实例256

6.2 生成器函数和闭包261

6.2.1 生成器函数261

6.2.2 闭包和装饰器265

6.2.3 编程实例274

6.3 异常和异常处理276

6.3.1 运行中的错误277

6.3.2 异常和异常处理279

6.3.3 异常处理的结构和技术282

6.3.4 try结构和raise语句详述284

6.3.5 预定义异常287

6.3.6 用异常作为控制机制288

6.4 数据处理和持久性291

6.4.1 文本生成291

6.4.2 数据记录和信息管理295

6.4.3 数据持久性300

6.4.4 with语句302

6.5 Python程序的几个问题304

6.5.1 Python程序及其运行304

6.5.2 程序格式307

6.5.3 怎样阅读Python手册308

6.6 补充材料309

6.6.1 语言细节309

6.6.2 编程技术313

练习315

第7章 数据抽象和面向对象编程 320

7.1 数据抽象、类和自定义类型320

7.1.1 类型和数据组合321

7.1.2 对象、类和类型323

7.2 Python的类和对象325

7.2.1 对象和操作325

7.2.2 类定义326

7.2.3 几点说明332

7.2.4 编程实例335

7.3 继承339

7.3.1 继承、基类和派生类340

7.3.2 编程实例344

7.3.3 多继承348

7.3.4 异常和类349

7.4 实例:学校人事管理350

7.4.1 概念分层和基础人员类350

7.4.2 具体人员类的设计和实现355

7.4.3 讨论358

7.5 特殊方法名和特殊功能的类359

7.5.1 容器类和迭代器359

*7.5.2 上下文管理器和with语句363

7.5.3 几个特殊方法名364

7.6 补充材料365

*7.6.1 Python类、对象和方法365

7.6.2 面向对象的技术和方法371

7.6.3 总结373

练习374

第8章 其他编程问题 377

8.1 图形用户界面377

8.1.1 人机界面的问题377

8.1.2 标准库包tkinter和图形用户界面380

*8.1.3 tkinter的ttk包400

8.1.4 GUI的简单应用和问题402

8.1.5 应用程序的GUI设计和实现404

8.1.6 总结和讨论412

8.2 并发程序设计414

8.2.1 并发程序415

8.2.2 Python并发库threading包418

8.2.3 定义自己的线程类422

8.2.4 并发程序的一些问题424

8.2.5 线程间通信和queue包431

8.2.6 一个GUI并发程序实例433

8.2.7 总结和讨论436

练习438

附录A Python语言速查 440

附录B 标准函数 444

附录C 书中使用的几个标准库包 448

附录D IDLE开发环境 449

参考文献及进一步阅读资料 452

用python编程 商品打折怎么计算_(特价书)从问题到程序:用Python学编程和计算相关推荐

  1. python 编程该看那些书籍_我用python5年后,我发现学python编程必看的三本书!

    非常喜欢python 我非常喜欢python,在前几年里,它一直是我热衷使用并不断研究的语言,迄今为止,python都非常友好并且易于学习! 它几乎可以做任何事,从简单的脚本创建.web,到数据可视化 ...

  2. java串口编程程序_想成为程序员,学编程,Python、Go、Java、C++,你选什么?

    很多时候,我们都不得不做出选择.就拿想成为程序员学编程这件事来说,想学一门编程语言,是选择最新潮的Python.Go,还是选择比较传统的JAVA和C++呢? 要做出选择,就得先进行比较. 其实不同编程 ...

  3. 笨办法学习python应该看第几版_求问:完全小白学习Python看《笨方法学Python3》还是看《Python编程从入门到实践》?...

    完全小白,建议看 <Python编程从入门到实践> 或 <像计算机科学家一样思考Python 第2版> 本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯 ...

  4. python 建筑计算_制图小技巧:巧用Python和ELK瞬间完成总图建筑名称标注

    哎呦,又到了每周一次的制图教室啦.经过前面两次制图教程的分享,相信大家对于白模填色和写实渲染这两种表达方式肯定有了较好的掌握. 那么今天我们就转战制图技巧篇,和童鞋们聊一下总平面图中的建筑名称标注问题 ...

  5. c++ 圆上任意点坐标计算_已知圆上任意三点坐标如何编程来计算这个圆的圆心和半径...

    在过去的一周时间里一直在计算师兄交代的任务 ,啥都没学,就一直在干这活.其中呢,我想的一个算法中就用到了本文中的这个小知识(主要就是线性代数和高中的一些知识结合起来).师兄说做的这个东西的内容要保密, ...

  6. python人工智能入门优达视频_机器学习:优达教你搭建Python 环境的正确姿势

    原标题:机器学习:优达教你搭建Python 环境的正确姿势 为机器学习搭建好 Python 环境听起来简单,但有时候坑还不少.如果此前没有配置过类似的环境,很可能会苦苦折腾各种命令好几个小时.可是我明 ...

  7. python数据写入csv不换行_你还在重复工作?Python轻松读写核对csv表格上万条数据!...

    工作中要核对很多的数据,所以我想到了要用编程来解决重复性的劳动工作,因为以前要核对数据的时候啊,会用筛选功能,一个个去核对,再后来学了vlookup,稍微高级一点,但是vlookup的时候也会遇到很多 ...

  8. qtableview与sqlite使用显示科学计算_使用MATLAB Profiler提升程序运行的效率

    很多同学在研究和学习的过程中都会经常使用 MATLAB.很多时候当编好一个程序之后,我们发现程序运行的效率达不到预想的要求.盲目的去找程序的缺陷往往既花时间也没有什么太大效果.这里我想告诉大家 MAT ...

  9. python脚本自动消除安卓版_微信跳一跳脚本重出江湖,python实现安卓iOS自动版与手动版!...

    前面一段时间在GitHub上看到有人利用Python玩一款名为"跳一跳"的微信小程序,于是打算自己也来试一试,毕竟这款小游戏最近吸引了众多人的目光. 演示工具 电脑系统:Win10 ...

最新文章

  1. 第二章 在HTML中使用JavaScript
  2. php获取post表单数据_PHP如何通过post方法来获取form表单中数据?(代码示例)
  3. 聊一聊:下班后的消息,要不要回?
  4. CISCO路由器配置手册--第五章 虚拟局域网(VLAN)路由
  5. 数学之美:45幅耀眼夺目的分形艺术作品欣赏
  6. 项目模板参数化(上)
  7. 吴裕雄--天生自然 JAVASCRIPT开发学习:弹窗
  8. 【机器学习笔记之八】使用朴素贝叶斯进行文本的分类
  9. Julia:从交易流水动态计算可用资金
  10. mcafee迈克菲官网由于验证缺陷,导致暴力破解到企业授权号获取到所有企业用户的Grant number
  11. ps里面的css,今天来为大家介绍PS中的图层样式
  12. B站视频怎么下载?提取视频文稿的简单方法!
  13. 【Spring】 No qualifying bean of type ‘java.lang.String‘ available: expected at least 1 bean which qua
  14. 大白菜u盘启动盘清除系统登录密码详细教程
  15. python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...
  16. Android 布局文件添加edittext报:The following classes could not be found错误
  17. 你也能看懂的:灰色预测算法
  18. 个人的偏好与擅长的领域
  19. python - RSA加密
  20. 通信原理(5)—— 数字带通传输系统(ASK/FSK/PSK/DPSK)

热门文章

  1. fortran2010编译出错,无法找到exe文件的解决方法
  2. CentOS 7.0全自动安装光盘制作详解
  3. Qt网络编程实战之HTTP服务器-安晓辉-专题视频课程
  4. 解析KDTCN:知识图谱和深度学习模型联合实现股票预测
  5. UI基础第十四弹:UItableview使用代码自定义团购页面
  6. TopCoder Arena 插件配置(1)Greed 2.0
  7. Widows(win10等等)使用过程中的 问题 与 小技巧 ----- 长期积累
  8. VUE优秀UI组件库(PC和Mobile)
  9. “元宇宙”,究竟离我们有多远?(中)
  10. 用R语言分析詹姆斯的客场得分