热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

PYTHON编程从0到1(视频教学版)

编号:
wx1201939683
销售价:
¥69.52
(市场价: ¥79.00)
赠送积分:
70
数量:
   
商品介绍

本书以Python语言构建了程序设计基础课程的教学体系。本书在对程序设计核心方法的探讨上较其他Python书籍更为全面和深入。通过对本书内容的学习,读者将全面地掌握用Python进行程序设计的基本能力。本书分为4章,每章都细分为若干节,知识点很好详细。章向读者介绍Python的基本语法和程序设计的一般方法。第2章向读者介绍函数这一重要概念。第3章通过Python的内建类型讲述了常见数据结构。第4章讲解Python的面向对象特性。本书适合大专院校理工科专业的Python教学,IT职业培训机构的Python类课程体系,以及自学Python的学习者。

前言章 基础11.1 历史21.2 表达式31.2.1 运算数31.2.2 运算符31.2.3 表达式的风格41.2.4 表达式的嵌套51.2.5 数据类型51.2.6 副作用61.2.7 小结61.3 运行程序61.3.1 交互执行模式71.3.2 查阅帮助文档81.3.3 执行Python程序脚本91.3.4 标识符和关键字101.3.5 运行环境的错误提示111.3.6 示例:欧几里得算法121.3.7 小结151.4 内建类型、赋值和引用151.4.1 字面值151.4.2 构造方法171.4.3 容器类型181.4.4 索引和切片221.4.5 左值、赋值和引用241.4.6 del操作291.4.7 小结301.5 流程控制结构301.5.1 if分支语句301.5.2 布尔运算331.5.3 while循环341.5.4 for循环401.5.5 条件表达式421.5.6 定义简单函数431.5.7 小结441.6 输入/输出441.6.1 标准输入/输出(I/O)流441.6.2 重定向标准I/O至文件451.6.3 用管道行串接I/O461.6.4 标准I/O流对象471.6.5 命令行参数481.6.6 环境变量491.6.7 格式化字符串501.6.8 小结511.7 简单练习511.7.1 示例:打印金字塔图形521.7.2 示例:3X+1问题531.7.3 示例:绘制正多边形541.7.4 示例:绘制函数曲线551.7.5 示例:蒙特卡洛方法561.7.6 示例:埃特金迭代法求方程的根591.7.7 小结611.8 程序执行模型611.8.1 手段限制621.8.2 无状态程序621.8.3 有状态程序671.8.4 线性存储器731.8.5 使用栈设计程序761.8.6 使用队列设计程序791.8.7 小结841.9 算法的性能描述851.10 异常处理871.10.1 基本语法881.10.2 提升程序的健壮性911.10.3 完整的异常捕获机制941.10.4 小结961.11 程序调试971.12 总结98第2章 函数992.1 函数基础1002.1.1 函数的作用1002.1.2 定义和调用函数1012.1.3 提供机制而非策略1022.1.4 用函数消除重复代码1032.1.5 Lambda表达式1052.1.6 回调函数1062.1.7 闭包1072.1.8 传参方式1082.1.9 文档字符串1102.1.10 小结1112.2 模块和包1112.2.1 处理名字冲突1112.2.2 模块与import1122.2.3 在模块中包含测试代码1132.2.4 模块搜索路径1132.2.5 包1142.2.6 小结1152.3 作用域和栈帧1152.3.1 名字的查找1152.3.2 nonlocal和global关键字1182.3.3 函数的调用栈1182.3.4 对象的生命期1192.3.5 小结1212.4 递归1212.4.1 单重递归1212.4.2 多重递归1242.4.3 示例:科赫雪花1252.4.4 示例:二叉树的后序遍历1272.4.5 消除尾递归1292.4.6 用栈和状态机消除递归1312.4.7 重复递归带来的性能陷阱1352.4.8 用动态规划消除重复递归1362.4.9 示例:通配符匹配1392.4.10 小结1412.5 类和成员方法1412.5.1 面向对象的函数调用风格1422.5.2 类和实例1432.5.3 定义类1442.5.4 创建实例1452.5.5 方法定义1452.6 高阶函数1472.6.1 对函数进行运算1482.6.2 函数装饰器1492.6.3 map和filter函数1522.6.4 小结1552.7 迭代器和生成器模式1552.7.1 可迭代对象和迭代器1562.7.2 生成器函数1572.7.3 列表推导式和生成器表达式1582.7.4 小结1602.8 总结160第3章 数据结构1613.1 列表1623.1.1 数组和内存1623.1.2 列表对象的结构1653.1.3 列表元素的插入1683.1.4 列表的排序1703.1.5 有序列表的二分查找1713.1.6 列表的基本操作接口1723.1.7 小结1733.2 链表1743.2.1 单链表1753.2.2 实现迭代器模式1783.2.3 用单链表实现栈1793.2.4 双向循环链表1803.2.5 用双向链表实现队列1823.2.6 双向链表的查找、插入和删除1833.2.7 小结1843.3 散列表1843.3.1 基本原理1853.3.2 应用示例1883.3.3 字典1893.3.4 小结1933.4 二叉树1943.4.1 概念和定义1943.4.2 表示和存储1963.4.3 遍历1983.4.4 二叉搜索树2003.4.5 二叉堆和优先队列2073.4.6 哈夫曼编码2093.4.7 小结2123.5 案例分析2123.5.1 deque链表块2123.5.2 OrderedDict有序字典2163.6 综合练习:寻路问题算法2183.6.1 图的表示2193.6.2 Dijkstra算法2213.6.3 A*算法2243.7 总结231第4章 面向对象2324.1 类2334.1.1 术语2334.1.2 成员方法2344.1.3 静态方法2364.1.4 类属性和类方法2374.1.5 私有成员2394.1.6 property装饰器2404.1.7 动态添加属性和slots2424.1.8 实例的生命周期2434.1.9 复制对象2444.1.10 小结2454.2 继承和多态2464.2.1 语法2464.2.2 如何设计类2494.2.3 多继承2514.2.4 鸭子类型和多态2524.2.5 小结2534.3 综合练习:GUI程序设计PyQt2534.3.1 安装PyQt2544.3.2 使用继承创建窗体2554.3.3 响应事件2564.3.4 小结2574.4 总结257参考文献258

生产力水平的发展是人类历史的主旋律。决定生产力水平的重要因素之一是生产工具。从这个角度讲,人类历史就是从石块到计算机的历史:从石器时代到信息时代。计算机是信息时代的主要生产工具,为了掌握这种工具,就要学习程序设计语言。    程序设计语言很多,相关的书籍更多。初学者常困惑于如何选择入门语言①,一旦决定后又困惑于选择什么教材。令人沮丧的是,选择的机会成本并不低:一般初学者完整地学习某门编程语言需要一个月甚至更多时间。大专院校课程改革的机会成本则更高。有人说选择什么语言入门不重要,成为高手后自然兼通各种语言。这种说法忽视了大多数学习者并不会成为高手的事实,而且选择性遗忘了他们自己作为初学者时所走的弯路。总而言之,学习者和教师在选择适合入门的编程语言和书籍时应当谨慎行事。因此笔者有必要在前言中将写作意图和内容取舍进行说明,以作为读者选择的依据。1写作背景和目的    笔者在2018年秋接到邀约并着手写作,全稿终于2019年春。此时Python已经跻身主流语言之列。之所以称其为“主流”语言,在笔者看来有以下几点证据: * 在各类有影响力的语言排行榜上,使用Python的比例开始占据较大份额,排名也很靠前②;* 在许多领域,Python成为主要的编程语言,甚至是首选语言,例如在数据分析、人工智能和服务器开发等领域;* 教育部将Python纳入了国家计算机等级考试的科目③。    而在此之前其已经得到了广泛应用:* Python逐渐成为许多国际一流高校程序设计课程的教学语言;* 许多基础软件框架采用Python作为设计语言或提供Python的编程接口;* Python在开源软件界和工业界已广受欢迎。    上述事实是笔者决定基于Python编写本书的原因④。其他的原因则是在教学中无合适教材可用。数年前笔者领导团队设计Python课程体系,那时曾经“遍访”各种Python书籍和教程。当时的Python书籍或者是简单的“手把手入门”,或者是大部头的“知识大全”,或者是应用于某具体领域的“手册指南”。    随着近年来Python教学实践的展开,市面上开始出现各种教科书体裁的Python书籍(如罗伯特·塞奇威克等所著的《程序设计导论:Python语言实践》)。那为何还要再写一本同样主题的教科书呢?因为教学对象不同,教学目标有所差别,教学过程各有侧重。所以教科书的首要价值在于“不同”。这种不同在本书来说至少有两个层面,一是Python与其他语言的不同,二是本书与其他Python书籍的不同。    学习或讲授新知识时,首先应注意到的往往是其与原有认知的相同之处,但唯有深入理解并能运用其不同后,才算窥得门径。例如Python也有循环、分支和函数等各种语言俱有之概念,但学习者如只见共性,并由此得出Python很简单的结论,便失去了学习新语言的意义。教师在教学生时也不能仅仅按照讲授旧有语言的经验,把讲义中的例子依次用Python重写一遍了事。①2    书的“不同”则在于体裁形式、内容取舍编排和作者观点的不同。既然是教科书,总不大好写成对话体,也不适宜画成漫画②。所以教科书的不同主要体现在取舍、次序、示例和观点等方面。然而写一本“完全不一样”的书是很难的,尤其是在Python已经相当流行的当下。③    “不同”总是相对的,各种相对性参照中,对读者来说最重要的参照便是读者自身。初来者看处处皆是新奇,见多识广后则觉得不过尔尔。所以下文仅对本书内容的取舍和编排进行说明,至于其中有何“不同”则留待读者自己体会。取舍    在教科书中全面讲授Python的细节是不现实的(这里说的语法细节包括完整的语法模型、各种对象的API④,以及各种标准库),原因有以下几点:* 过多的细节会喧宾夺主,无法凸显真正重要的核心内容;* 语言中的艰深部分不适合本书面向的教学阶段,也不常用于多数程序员的日常工作;* Python标准库包罗万象,全面介绍是不现实的(无论从篇幅上还是读者的知识背景基础而言); * Python在不断发展,其细节仍然在不断变化中。    笔者认为,既然在整体上无法面面俱到,那么在局部也不应有这种负担。例如“异常处理”这一主题,如果完整地讲授异常机制的每个细节(如各种内建异常类型),则需要相当多的篇幅①。但真实的情况是:绝大多数的工程师根本不懂如何处理程序的意外情况,不论是使用C语言这样没有异常处理机制的语言,还是使用Java或Python这样有完整异常处理机制的语言。究其原因有以下几点:3* 一是初学者没有能力接受太多的异常处理知识,正常程序还写不明白,哪里有精力去整什么异常处理;* 二是异常处理的核心在于全面、准确地剖析程序的各种意外情况,不具备这个能力,学习再多的异常处理机制也是枉然;* 三是在学习程序设计的初级阶段,往往用算法进行练习(比如走个迷宫、匹配个字符串),不和复杂的外部世界(如网络)打交道;* 四是考虑到教学重点和叙述篇幅,也往往假定数据有效,这样就不用考虑处理意外情况。这样一来,教学中费大力气讲授的异常处理机制,也因为暂时无用而被抛诸脑后。    本书则不纠缠于异常处理的细节和内建异常的类型,而是在讲述完基本语法后详细

商品参数
基本信息
出版社 机械工业出版社
ISBN 9787111632955
条码 9787111632955
编者 张頔
译者 --
出版年月 2019-09-01 00:00:00.0
开本 16开
装帧 平装
页数 260
字数 480
版次 1
印次 1
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]