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

video

Python Fundamentals

by Paul J. Deitel

45+ hours of video instruction. Overview The professional programmer’s Deitel® video guide to Python development with …

book

Python程序设计:人工智能案例实践

by 保罗 戴特尔, 哈维 戴特尔

本书共16章。第1~10章介绍Python编程,涉及人工智能、基本描述统计、集中趋势和分散度量、模拟、静态和动态可视化、使用CSV文件、用于数据探索和数据整理的Pandas、时间序列和简单线性回归。第11~16章提供多种实践案例研究,涉及自然语言处理、Twitter数据挖掘、IBM Watson认知计算、包含分类和回归的有监督机器学习、聚类无监督机器学习、卷积神经网络深度学习、递归神经网络深度学习、包含Hadoop/Spark/NoSQL/物联网的大数据等。

book

Optimizing Visual Studio Code for Python Development: Developing More Efficient and Effective Programs in Python

by Sufyan bin Uzayr

Learn Visual Studio Code and implement its features in Python coding, debugging, linting, and overall project …

video

Kotlin完全指南

by 贾斯汀·李

课程简介 Google正式宣布Kotlin为Android开发的首选语言,这使得其成为除官方平台支持的Java之外的唯一语言。自2016年发布1.0版以来,Kotlin一直在稳定增长。随着被Netflix、Uber、Pinterest和Trello等公司的积极应用和推荐,可以预期Kotlin未来的市场将保持稳定增长。 Kotlin被设计为一种工业级的面向对象的语言,并且是比Java更好的语言,但却可以与Java代码完全互操作,这一特点也能够帮助开发者可以更自然的从Java迁移到Kotlin。 不可否认,Kotlin是近一段时间以来最令人激动的新语言之一。其实用性和互操作性让Kotlin成为许多Java开发人员更容易过渡学习的语言之一。但是,更多想要了解和学习Kotlin的学习者可能并没有Java开发背景。为此在本课程中,我们将从头开始研究Kotlin,涵盖想要扎实了解Kotlin所必需的各个主题知识点。 课程中,我们将介绍语言的基础知识,并深入探讨一些棘手的学习问题。诸如构建和测试,泛型和扩展功能之类的主题。我们甚至研究一下Kotlin是如何帮助您编写自己的DSL。我们为此还建立了一套工具,可帮助您成为最有生产力同时最快乐的Kotlin开发人员。 Get技能 ● 编写并构建你的第一个Kotlin程序; ● 在你的Kotlin代码中无缝利用现有Java库; ● 在Kotlin中创建Java开发人员可以访问的库; ● 掌握构建基本的DSL技能,以有效减少你可能遇到的其它开发难题;