程序设计导论: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

Java并发编程实战

by Brian Goetz, Tim Peierls

本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。

book

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

by Laine Campbell, Charity Majors

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

book

Python网络爬虫权威指南(第2版)

by Ryan Mitchell

作为一种采集和理解网络上海量信息的方式,网页抓取技术变得越来越重要。而编写简单的自动化程序(网络爬虫),一次就可以自动抓取上百万个网页中的信息,实现高效的数据采集和处理,满足大量数据需求应用场景。 本书采用简洁强大的Python语言,全面介绍网页抓取技术,解答诸多常见问题,是掌握从数据爬取到数据清洗全流程的系统实践指南。书中内容分为两部分。第一部分深入讲解网页抓取的基础知识,重点介绍BeautifulSoup、Scrapy等Python库的应用。第二部分介绍网络爬虫编写相关的主题,以及各种数据抓取工具和应用程序,帮你深入互联网的每个角落,分析原始数据,获取数据背后的故事,轻松解决遇到的各类网页抓取问题。第2版全面更新,新增网络爬虫模型、Scrapy和并行网页抓取相关章节。 解析复杂的HTML页面 使用Scrapy框架开发爬虫 学习存储数据的方法 从文档中读取和提取数据 清洗格式糟糕的数据 自然语言处理 通过表单和登录窗口抓取数据 抓取JavaScript及利用API抓取数据 图像识别与文字处理 避免抓取陷阱和反爬虫策略 使用爬虫测试网站