程序设计导论:Python语言实践

Book description

本书从跨学科的角度入手,强调应用,介绍Python有用的功能,包括编程的基本要素、功能、模块、面向对象编程、数据抽象对象、算法与数据结构,融汇了作者丰富的课堂教学经验,提供了大量源代码、I/O库和精选实例。本书适合作为高校计算机专业编程课程的教材。

Table of contents

  1. 出版者的话
  2. 译者序
  3. 前言
  4. 第1章 程序设计的基本元素
    1. 1.1 你的第一个程序
      1. 1.1.1 Python程序设计
      2. 1.1.2 输入和输出
      3. 1.1.3 问题和解答
      4. 1.1.4 习题
    2. 1.2 内置数据类型
      1. 1.2.1 相关术语
      2. 1.2.2 字符串
      3. 1.2.3 整数
      4. 1.2.4 浮点数
      5. 1.2.5 布尔值
      6. 1.2.6 比较
      7. 1.2.7 函数和API
      8. 1.2.8 数据类型转换
      9. 1.2.9 小结
      10. 1.2.10 问题和解答(字符串)
      11. 1.2.11 问题和解答(整数)
      12. 1.2.12 问题和解答(浮点数)
      13. 1.2.13 问题和解答
      14. 1.2.14 习题
      15. 1.2.15 创新习题
    3. 1.3 选择结构和循环结构
      1. 1.3.1 if语句
      2. 1.3.2 else子句
      3. 1.3.3 while语句
      4. 1.3.4 for语句
      5. 1.3.5 语句嵌套
      6. 1.3.6 应用实例
      7. 1.3.7 循环和中断
      8. 1.3.8 死循环
      9. 1.3.9 小结
      10. 1.3.10 问题和解答
      11. 1.3.11 习题
      12. 1.3.12 创新习题
    4. 1.4 数组
      1. 1.4.1 Python中的数组
      2. 1.4.2 数组别名和拷贝
      3. 1.4.3 Python对数组操作提供的系统支持
      4. 1.4.4 一维数组应用实例
      5. 1.4.5 二维数组
      6. 1.4.6 二维数组应用实例:自回避随机行走
      7. 1.4.7 小结
      8. 1.4.8 问题和解答(字符串)
      9. 1.4.9 习题
      10. 1.4.10 创新习题
    5. 1.5 输入和输出
      1. 1.5.1 鸟瞰图
      2. 1.5.2 标准输出
      3. 1.5.3 标准输入
      4. 1.5.4 重定向和管道
      5. 1.5.5 标准绘图
      6. 1.5.6 动画
      7. 1.5.7 标准音频
      8. 1.5.8 小结
      9. 1.5.9 问题和解答
      10. 1.5.10 习题
      11. 1.5.11 创新习题
    6. 1.6 应用案例:随机Web冲浪模型
      1. 1.6.1 输入格式
      2. 1.6.2 转换矩阵
      3. 1.6.3 模拟
      4. 1.6.4 混合马尔可夫链
      5. 1.6.5 经验总结
      6. 1.6.6 习题
      7. 1.6.7 创新习题
  5. 第2章 函数和模块
    1. 2.1 定义函数
      1. 2.1.1 调用和定义函数
      2. 2.1.2 实现数学函数
      3. 2.1.3 使用函数组织代码
      4. 2.1.4 传递参数和返回值
      5. 2.1.5 实例:声波的叠加
      6. 2.1.6 问题和解答
      7. 2.1.7 习题
      8. 2.1.8 创新习题
    2. 2.2 模块和客户端
      1. 2.2.1 使用其他程序中的函数
      2. 2.2.2 模块化程序设计的抽象概念
      3. 2.2.3 随机数
      4. 2.2.4 数组处理API
      5. 2.2.5 迭代函数系统
      6. 2.2.6 标准统计
      7. 2.2.7 模块化程序设计
      8. 2.2.8 问题和解答
      9. 2.2.9 习题
      10. 2.2.10 创新习题
    3. 2.3 递归
      1. 2.3.1 你的第一个递归程序
      2. 2.3.2 数学归纳法
      3. 2.3.3 欧几里得算法
      4. 2.3.4 汉诺塔
      5. 2.3.5 函数调用树
      6. 2.3.6 指数时间
      7. 2.3.7 格雷码
      8. 2.3.8 递归图形
      9. 2.3.9 布朗桥
      10. 2.3.10 递归的陷阱
      11. 2.3.11 展望
      12. 2.3.12 问题和解答
      13. 2.3.13 习题
      14. 2.3.14 创新习题
    4. 2.4 案例研究:渗透原理
      1. 2.4.1 渗透原理
      2. 2.4.2 基本脚手架代码
      3. 2.4.3 垂直渗透
      4. 2.4.4 测试
      5. 2.4.5 估计概率
      6. 2.4.6 渗透原理的递归解决方案
      7. 2.4.7 自适应绘制图形
      8. 2.4.8 经验总结
      9. 2.4.9 问题和解答(字符串)
      10. 2.4.10 习题
      11. 2.4.11 创新习题
  6. 第3章 面向对象的程序设计
    1. 3.1 使用数据类型
      1. 3.1.1 方法
      2. 3.1.2 字符串处理
      3. 3.1.3 字符串处理应用:基因组学
      4. 3.1.4 用户自定义数据类型
      5. 3.1.5 颜色
      6. 3.1.6 数字图像处理
      7. 3.1.7 输入和输出(进一步讨论)
      8. 3.1.8 内存管理
      9. 3.1.9 问题和解答
      10. 3.1.10 习题
      11. 3.1.11 创新习题
    2. 3.2 创建数据类型
      1. 3.2.1 数据类型的基本元素
      2. 3.2.2 秒表
      3. 3.2.3 直方图
      4. 3.2.4 海龟绘图
      5. 3.2.5 递归图形
      6. 3.2.6 复数
      7. 3.2.7 曼德布洛特集合
      8. 3.2.8 商业数据处理
      9. 3.2.9 问题和解答
      10. 3.2.10 习题
      11. 3.2.11 创新习题
    3. 3.3 设计数据类型
      1. 3.3.1 设计API
      2. 3.3.2 封装
      3. 3.3.3 不可变性
      4. 3.3.4 实例:空间向量
      5. 3.3.5 元组
      6. 3.3.6 多态性
      7. 3.3.7 重载
      8. 3.3.8 函数是对象
      9. 3.3.9 继承
      10. 3.3.10 应用:数据挖掘
      11. 3.3.11 契约式设计
      12. 3.3.12 问题和解答
      13. 3.3.13 习题
      14. 3.3.14 数据类型设计习题
      15. 3.3.15 创新习题
    4. 3.4 案例研究:多体模拟
      1. 3.4.1 多体模拟
      2. 3.4.2 问题和解答
      3. 3.4.3 习题
      4. 3.4.4 创新习题
  7. 第4章 算法和数据结构
    1. 4.1 性能
      1. 4.1.1 观察
      2. 4.1.2 假说
      3. 4.1.3 增长量级分类
      4. 4.1.4 预测
      5. 4.1.5 注意事项
      6. 4.1.6 性能保证
      7. 4.1.7 Python列表和数组
      8. 4.1.8 字符串
      9. 4.1.9 内存
      10. 4.1.10 展望
      11. 4.1.11 问题和解答
      12. 4.1.12 习题
      13. 4.1.13 创新习题
    2. 4.2 排序和查找
      1. 4.2.1 二分查找法
      2. 4.2.2 插入排序算法
      3. 4.2.3 归并排序算法
      4. 4.2.4 Python系统排序方法
      5. 4.2.5 应用:频率计数
      6. 4.2.6 经验总结
      7. 4.2.7 问题和解答
      8. 4.2.8 习题
      9. 4.2.9 创新习题
    3. 4.3 栈和队列
      1. 4.3.1 下堆栈(后进先出栈)
      2. 4.3.2 基于Python列表(可变数组)实现栈
      3. 4.3.3 基于链表实现栈
      4. 4.3.4 堆栈的应用
      5. 4.3.5 FIFO队列
      6. 4.3.6 队列的应用
      7. 4.3.7 资源分配
      8. 4.3.8 问题和解答
      9. 4.3.9 习题
      10. 4.3.10 链表习题
      11. 4.3.11 创新习题
    4. 4.4 符号表
      1. 4.4.1 符号表API
      2. 4.4.2 符号表客户端
      3. 4.4.3 基本符号表实现
      4. 4.4.4 哈希表
      5. 4.4.5 二叉搜索树
      6. 4.4.6 BST的性能特点
      7. 4.4.7 BST的遍历
      8. 4.4.8 可迭代对象
      9. 4.4.9 有序符号表操作
      10. 4.4.10 字典数据类型
      11. 4.4.11 集合数据类型
      12. 4.4.12 展望
      13. 4.4.13 问题和解答
      14. 4.4.14 习题
      15. 4.4.15 二叉树习题
      16. 4.4.16 创新习题
    5. 4.5 案例研究:小世界现象
      1. 4.5.1 图
      2. 4.5.2 图数据类型
      3. 4.5.3 Graph客户端例子
      4. 4.5.4 图的最短路径
      5. 4.5.5 小世界图
      6. 4.5.6 经验总结
      7. 4.5.7 问题和解答
      8. 4.5.8 习题
      9. 4.5.9 创新习题
  8. 后记
  9. 词汇表
  10. 索引
  11. 应用程序编程接口

Product information

  • Title: 程序设计导论:Python语言实践
  • Author(s): 罗伯特 塞奇威克, 凯文 韦恩, 罗伯特 唐德罗
  • Release date: August 2021
  • Publisher(s): Pearson
  • ISBN: 9787111549246

You might also like

book

JSON實務手冊

by Tom Marrs

網路資料整合實務 JSON逐漸成為網際網路資料交換的主力,此格式受到建構高效能應用程式的生態系中各種標準、工具與技術的支援。本書作者Tom Marrs展示如何運用JSON工具與訊息/文件設計建構企業級應用程式與服務。 JSON實務手冊提供開發者豐富的應用程式開發指南、最佳做法與使用案例以及大量真實範例與程式碼。內容包含JSON概要、JSON生態系與企業實務運用。 ‧JSON基本概念與JSON資料模型設計 ‧在Node.js、Ruby on Rails與Java中使用JSON ‧以JSON Schema建構JSON文件以進行設計與API測試 ‧以JSON搜尋工具搜尋JSON文件內容 ‧以JSON轉換工具將JSON文件轉換成其他格式 ‧JSON多媒體格式的比較,包括HAL與jsonapi ‧使用MongoDB儲存與存取JSON文件 ‧在服務間使用Apache Kafka交換JSON訊息

book

Go程序设计语言

by 艾伦A. A.多诺万, 布莱恩W. 柯尼汉

本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Donovan联袂撰写,是学习Go语言程序设计的权威指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。

book

算法技术手册(原书第2 版)

by George T.Heineman, Gary Pollice, Stanley Selkow

打造鲁棒性优秀的软件需要用到高效的算法,然而程序员们却对此知之甚少。新版的《算法技术手册》介绍了用于解决各种类型问题的已有算法,并帮助读者挑选和实现最适合自身需要的算法。不仅如此,书中还提供了恰到好处的数学知识来帮助读者理解和分析算法的性能。 本书侧重应用多于理论且规范严谨。书中提供了用多种程序设计语言实现的文档化的实际代码解决方案。此外,新版还增加了用Python实现的10多种新算法、Voronoi图算法实现以及包括R树(R-Trees)和四叉树(Quadtrees)在内的空间树结构等内容。 通过阅读本书,你将可以: 解决新的编码问题,提升现有解决方案的性能。 快速定位与问题相关的算法,并挑选最佳算法。 获取带有实现技巧提示的采用C、C++、Java和Python实现的算法解决方案。 学习算法的预期性能和最佳性能所需要的条件。 使用高级数据结构提升算法效率。

book

数据库可靠性工程:数据库系统设计与运维指南

by Laine Campbell, Charity Majors

信息技术领域的基础设施即代码革命正在影响着数据库管理。本书从实践角度介绍如何将网站可靠性工程的实践应用于数据库架构和运维,为想成为数据库可靠性工程师的专业人士提供一个指导框架,开发人员、系统管理员和初中级数据库管理员等都能从中受益。 本书首先介绍数据库可靠性工程师需要掌握的核心运维概念,然后介绍各种数据库持久性选项,包括如何利用关键技术提供有弹性、可扩展、高性能的数据存储和检索。有了数据库可靠性工程的坚实基础,读者便能深入研究任何现代数据库的架构和运维。 服务等级要求和风险管理 构建并演进具有运维可见性的架构 基础设施工程和基础设施管理 如何推动发布管理流程 数据存储、索引和复制 明确数据存储的特性和用例 数据存储架构组件和数据驱动的架构