登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

『簡體書』Python编程与数值方法

書城自編碼: 3826219
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 平装-胶订
國際書號(ISBN): 9787111717881
出版社: 机械工业出版社
出版日期: 2022-02-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 632

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
海盗之书
《 海盗之书 》

售價:NT$ 381.0
亲美与反美:战后日本的政治无意识
《 亲美与反美:战后日本的政治无意识 》

售價:NT$ 325.0
亲爱的安吉维拉:或一份包含15条建议的女性主义宣言
《 亲爱的安吉维拉:或一份包含15条建议的女性主义宣言 》

售價:NT$ 274.0
理想国译丛064:狼性时代:第三帝国余波中的德国与德国人,1945—1955
《 理想国译丛064:狼性时代:第三帝国余波中的德国与德国人,1945—1955 》

售價:NT$ 571.0
海外中国研究·明清中国的经济结构
《 海外中国研究·明清中国的经济结构 》

售價:NT$ 717.0
理想国译丛018:活着回来的男人:一个普通日本兵的二战及战后生命史(2024版)
《 理想国译丛018:活着回来的男人:一个普通日本兵的二战及战后生命史(2024版) 》

售價:NT$ 515.0
考古四记:田野中的历史人生
《 考古四记:田野中的历史人生 》

售價:NT$ 493.0
大洗牌
《 大洗牌 》

售價:NT$ 437.0

建議一齊購買:

+

NT$ 510
《 Efficient Linux命令行 》
+

NT$ 739
《 洞察用户体验:方法与实践 (第2版) 》
+

NT$ 579
《 JavaScript悟道 》
+

NT$ 690
《 Go语言项目开发上手指南 》
+

NT$ 435
《 ArcGIS Engine+C#入门经典 》
+

NT$ 561
《 零基础入门学习Python(第2版)-微课视频版 》
內容簡介:
本书面向工程和科学专业的学生,介绍编程工具和数值方法,旨在帮助学生掌握计算问题求解技巧。书中第 一部分介绍基本的Python编程概念,使用简单的例子快速将新的概念付诸实践;第二部分涵盖算法和数值分析的基础知识,帮助学生在实际设置中快速应用结果。
目錄
译者序
前言
致谢
第一部分 Python编程简介
第1章 Python基础 2
1.1 开始使用Python 2
1.1.1 设置工作环境 2
1.1.2 运行Python代码的
三种方法 5
1.2 Python作为计算器 7
1.3 包管理 11
1.3.1 使用包管理器管理包 11
1.3.2 从源代码中安装包 13
1.4 Jupyter Notebook简介 13
1.4.1 启动Jupyter Notebook 14
1.4.2 笔记本 15
1.4.3 如何关闭笔记本 15
1.4.4 关闭Jupyter Notebook
服务器 15
1.5 逻辑表达式和运算符 16
1.6 总结和习题 18
1.6.1 总结 18
1.6.2 习题 18
第2章 变量和基本数据结构 20
2.1 变量和赋值 20
2.2 数据结构—字符串 22
2.3 数据结构—列表 26
2.4 数据结构—元组 28
2.5 数据结构—集合 30
2.6 数据结构—字典 31
2.7 numpy数组 33
2.8 总结和习题 40
2.8.1 总结 40
2.8.2 习题 40
第3章 函数 42
3.1 函数基础 42
3.1.1 Python 内置函数 42
3.1.2 定义自己的函数 42
3.2 局部变量和全局变量 49
3.3 嵌套函数 52
3.4 lambda函数 53
3.5 函数作为函数的参数 54
3.6 总结和习题 55
3.6.1 总结 55
3.6.2 习题 55
第4章 分支语句 59
4.1 if-else语句 59
4.2 三元运算符 65
4.3 总结和习题 65
4.3.1 总结 65
4.3.2 习题 65
第5章 迭代 69
5.1 for循环 69
5.2 while循环 74
5.3 推导式 76
5.3.1 列表推导式 76
5.3.2 字典推导式 77
5.4 总结和习题 77
5.4.1 总结 77
5.4.2 习题 77
第6章 递归 81
6.1 递归函数 81
6.2 分而治之 85
6.2.1 汉诺塔问题 85
6.2.2 快速排序 87
6.3 总结和习题 88
6.3.1 总结 88
6.3.2 习题 89
第7章 面向对象编程 94
7.1 面向对象编程简介 94
7.2 类和对象 95
7.2.1 类 95
7.2.2 对象 97
7.2.3 类属性与实例属性 98
7.3 继承、封装和多态 99
7.3.1 继承 99
7.3.2 封装 102
7.3.3 多态 103
7.4 总结和习题 103
7.4.1 总结 103
7.4.2 习题 103
第8章 复杂度 105
8.1 复杂度和大O表示法 105
8.2 复杂度问题 107
8.3 分析器 108
8.3.1 使用魔术命令 108
8.3.2 使用Python分析器 109
8.3.3 使用line分析器 110
8.4 总结和习题 111
8.4.1 总结 111
8.4.2 习题 111
第9章 数字的表示 113
9.1 baseN和二进制 113
9.2 浮点数 114
9.3 舍入误差 118
9.3.1 表示误差 118
9.3.2 浮点运算导致的舍入误差 118
9.3.3 舍入误差的累积 119
9.4 总结和习题 120
9.4.1 总结 120
9.4.2 习题 120
第10章 错误、良好的编程实践
和调试 123
10.1 错误类型 123
10.2 避免错误 125
10.2.1 规划你的程序 125
10.2.2 经常进行测试 126
10.2.3 保持代码整洁 126
10.3 异常 128
10.4 类型检查 130
10.5 调试 132
10.5.1 在遇到异常时激活
调试器 132
10.5.2 在运行代码前激活
调试器 134
10.5.3 添加断点 135
10.6 总结和习题 136
10.6.1 总结 136
10.6.2 习题 136
第11章 读写数据 137
11.1 文本文件 137
11.1.1 写入文件 137
11.1.2 附加文件 138
11.1.3 读取文件 138
11.1.4 处理数字和数组 139
11.2 CSV文件 140
11.2.1 写入和打开CSV文件 141
11.2.2 读取CSV文件 142
11.2.3 numpy之外 142
11.3 pickle文件 142
11.3.1 写入pickle文件 142
11.3.2 读取pickle文件 143
11.3.3 读取Python 2的pickle
文件 143
11.4 JSON文件 143
11.4.1 JSON格式 143
11.4.2 写入JSON文件 144
11.4.3 读取JSON文件 144
11.5 HDF5文件 145
11.5.1 读取HDF5文件 146
11.6 总结和习题 147
11.6.1 总结 147
11.6.2 习题 147
第12章 可视化和绘图 148
12.1 二维绘图 148
12.2 三维绘图 156
12.3 使用地图 161
12.4 动画和电影 165
12.5 总结和习题 167
12.5.1 总结 167
12.5.2 习题 167
第13章 Python并行化 173
13.1 并行计算基础知识 173
13.1.1 进程和线程 174
13.1.2 Python的GIL问题 174
13.1.3 使用并行计算的缺点 174
13.2 多进程 174
13.2.1
內容試閱
由于编程已经成为工程、科学、医学、媒体、商业、金融和许多其他领域的重要组成部分,因此对于科学家和工程师来说,掌握基本的计算机编程基础是能够提升自身竞争力的。这本书向拥有不同背景的学生介绍编程,并提供编程和数学工具,这些工具将为他们的职业生涯提供非常大的帮助。
本书的大部分内容借鉴了加州大学伯克利分校E7课程“面向科学家和工程师的计算机编程导论”的标准教学资料。这门课是工程学院的大多数理工科新生以及其他学科(包括物理、生物、地球和认知科学)本科生的选修课。该课程最初是用Matlab讲授的,但随着最近伯克利数据科学运动的趋势,数据科学部同意并支持将该课程转变为面向Python的课程,以便为来自不同领域的学生提供进一步学习数据科学课程的预备知识。本课程有两个基本目标:
向没有接触过编程的理工科学生介绍Python编程;
介绍各种用于解决科学和工程问题的数值分析工具。
这两个目标反映在本书的两个部分中:
Python编程简介;
数值方法简介。
本书是根据Timmy Siauw和Alexandre M. Bayen撰写的《面向工程师的MATLAB编程和数值方法导论》一书编写的。本书最初是出于交互目的而在Jupyter Notebook中编写的,然后转换为LaTeX。书中的大多数代码来自Jupyter Notebook代码单元,可以直接在笔记本单元中运行。所有Jupyter Notebook代码都可以在pythonnumericalmethods.berkeley.edu中找到。
因为本书涵盖的主题颇为广泛,所以没有把每一个主题讲得很深入。即使用整个学期来讲本书,每章也最多占用两个课时。这本书旨在为学生提供广泛的编程知识和数学词汇,以供学生进行扩展,而非深入学习。
我们相信,就像学习一门新的外语一样,学习编程也可以很有趣,而且很有启发性。我们希望你在学习本书的过程中会赞同我们的看法。
背景知识
本书旨在向那些几乎没有计算机编程经验的学生介绍编程和数值方法。我们希望这一宗旨能反映在本书的节奏、基调和内容上。为了达到编程的目的,我们假设读者具备以下背景知识:
了解计算机显示器和键盘、鼠标等输入设备;
了解在大多数操作系统中用于存储文件的文件夹结构。
对于本书的第二部分,我们假设读者具备以下背景知识:
高中代数和三角学;
入门级大学微积分。
就是这样了!本书中若出现超出上述背景知识的内容,那必定是我们的问题。如果因概念不明确而产生了知识上的混淆,我们事先表示歉意。
章节组织
第一部分介绍编程的基本概念。第1章介绍Python和Jupyter Notebook。第2~7章介绍编程的基础知识,熟练掌握这些章节的内容可以获得足够的背景知识,从而几乎可以对任何想象的东西进行编程。第8章介绍如何基于计算机程序运行速度来描述程序的复杂度。第9章介绍计算机如何表示数字及其对算术运算的影响。第10章介绍养成良好编程习惯的有用技巧,掌握这些技巧可以减少代码中的错误,并且易于查找错误。第11章介绍如何长期存储数据以及如何使Python的结果在Python之外(即其他程序中)有用。第12章介绍Python的绘图功能,可生成图形和图表,这对于工程师和科学家可视化结果非常有用。第13章介绍Python并行编程的基础知识,并行编程可利用当今计算机的多核
设计。
第二部分概述对工程师有帮助的各种数值方法。第14章简要介绍线性代数。尽管线性代数本质上是理论性的,但它是理解许多高级工程主题的关键。第15章讨论特征值和特征向量(它们是工程学和科学中的重要工具),以及如何利用它们。第16章是关于最小二乘回归的,这是一个数学术语,是将理论模型拟合到观测数据的一种方法。第17章是关于推断数据点之间的函数值的,会介绍一种称为“插值”的框架。第18章介绍用多项式近似函数的思想,这对于简化复杂函数很有用。第19章讲了两种算法,用于求函数的根,即求f(x)=0中的x,其中f是一个函数。第20章和第21章分别介绍近似函数的导数和积分的方法。第22章和第23章介绍一种数学模型,称为常微分方程,这两章着重于不同的问题,分别是初值问题和边值问题,并介绍了几种求解方法。第24章介绍离散傅里叶变换和快速傅里叶变换的概念及其在数字信号处理中的使用。
如何阅读此书
学习编程就是练习,练习,再练习。就像学习一门新语言一样,如果不将其内化并不断加以利用,就无法真正掌握。
我们建议在阅读本书时,打开Jupyter Notebook或交互式网站,并运行书中提供的所有示例。相比于像读小说一样“通读”全文,花时间去理解每个例子中Python所做的事情,将会获得更大的回报。
就本书而言,应该首先阅读并理解第1章至第5章,因为它们涵盖编程的基础知识。第6章到第11章可以按任何顺序阅读。如果你想提高解决问题的能力,则有关绘图和并行编程的第12章和第13章是必读章节。在第二部分中,应该首先阅读第14章,因为后续各章都依赖于线性代数的概念。其余章节可以按任何顺序阅读,我们建议先阅读第17章和第18章,再阅读第19章和第20章。
在整本书中都有用黑体标出的文字,当你遇到这些文字时,需要花时间记忆它们并根据上下文理解其含义。
为了使书中内容更加清晰,我们设计了不同的文本块。这些文本块具有不同的功能,示例如下。
尝试一下!这是书中最常见的块,其中通常会简短地描述问题或操作。我们强烈建议你在Python中“尝试”这些内容。
提示!该块提供了一些建议,我们相信这些建议能使编程更容易。请注意,这些块不包含理解书中关键概念所需的新知识。
示例:这些块是新概念的具体示例,旨在帮助你思考新概念,但不一定需要进行试验。
警告!在编程时可能会遇到很多陷阱,这些块将帮助你避免混乱、养成不良习惯或误解关键概念。
发生了什么?这些块深入细节,以帮助你理解Python执行程序时发生的事情。
结构:在编程中保留了一些标准的架构,用于执行常见和重要的任务。这些块概述这些架构并介绍如何使用它们。
每章末尾都有两个部分。总结部分列出当前章的要点,这些内容能帮助你直观地了解刚刚所学的内容。习题部分提供的练习将帮助你强化所学的概念。
最后一点,在Python中有很多方法可以做同样的事情。乍看这似乎是一个有用的特性,但当任务很简单时,它可能会让学习Python变得困惑,或者因给编程新手提供过多的可能性而让他们不知所措。本书对于要执行的任务只提供一种方法,这样可确保初学者少走弯路,同时也不会被无关紧要的信息所淹没。对于某个任务,你可能会发现不同于本书所给方法的解决方案,而且两者解决问题的效果相同,甚至你的方案效果更好!我们鼓励你找到这些替代方法,并根据我们提供的工具,自己判断哪种方法更好。
希望你喜欢这本书!
为什么选择Python
Python是一种高级通用计算机语言,适用于许多应用程序。它对初学者很友好,希望你会发现它简单易学,并且很有趣。该语言本身非常灵活,这意味着在构建功能方面没有硬性规定,你会发现有多种方法可以解决相同的问题。也许它的强大之处在于拥有一个强大的用户社区,有很多软件包可以直接插入而且只需投入很少的精力。随着持续流行的趋势,Python适合当今数据科学的目标。Python是免费的(开放源代码),并且大多数软件包也是免费使用的。开源编程语言的思想使学习曲线产生了巨大的变化。你不仅可以免费使用这些软件包,还可以从其他用户开发的这些软件包的源代码中学习许多高级技能。我们希望你能喜欢这里介绍的Python知识,并在工作和生活中使用它。
Python和软件包版本
本书是使用Python 3编写的。下面列出了本书中使用的软件包及各自的版本。随着这些软件包的不断开发,你可能会添加、删除或更改软件包的某些功能:
jupyter,1.0.0
ipython,7.5.0
numpy,1.16.4
scipy,1.2.1
h5py,2.9.0
matplotlib,3.1.0
cartopy,0.17.0
joblib,0.13.2
致  谢
Python Programming and Numerical Methods
编写本书初稿的时候,加州大学伯克利分校工程学教授的标准通用语言是Matlab,它的起源可以追溯到2005年左右。那之后便迎来了当前的数据科学、机器学习时代, Python作为一种普遍使用的语言出现在整个工程行业。因此,初稿是作为加州大学伯克利分校E7课程的一部分编写的,该课程向学生介绍编程和数值分析。
如果没有同事、研究生导师团队(GSI)、评分员和行政人员的帮助,这本书就永远不会写出来,他们帮助我们完成了每学期向数百名学生讲授E7课程的艰巨过程。此外,如果没有耐心阅读本书并给出反馈的学生的帮助,本书也将永远无法完成。在多次教授E7课程的过程中,我们与数千名学生、数十个研究生导师团队和评分员以及十几名同事和管理人员进行了互动,鉴于涉及的人数较多,对于那些可能遗漏的人,我们深表
歉意。
我们非常感谢同事Panos Papadopoulos、Roberto Horowitz、Michael Frenklach、Andy Packard、Tad Patzek、Jamie Rector、Raja Sengupta、Mike Cassidy和Samer Madanat教授的指导。尤其感谢Roberto Horowitz、Andy Packard、Sanjay Govindjee和Tad Patzek教授分享了他们在课堂上使用的内容,这些内容对本书的编写做出了贡献。我们还要感谢Rob Harley和Sanjay Govindjee教授在教授E7课程时使用了本书的初稿,并向我们提供了有助于改进的反馈。课程的顺利进行,让作者有了编写本书的时间和精力。众多行政人员承担了大量后勤工作,使课程的管理井井有条。我们特别感谢Joan Chamberlain、Shelley Okimoto、Jenna Tower和Donna Craig。
特别值得一提的是,土木与环境工程系副主任Bill Nazaroff在2011年指定第二作者授课。如果没有这项任务,这本书的几位作者就没有机会一起工作并撰写本书。众所周知,E7课程是加州大学伯克利分校工程学院最难教的课程。然而,在我们教授这门课的多个学期里,课程一直顺利进行,这主要归功于我们有幸与才华横溢的研究生导师团队合作。这几年在授课的过程中,一系列具有传奇色彩的研究生导师团队负责人为塑造课程做出了贡献,并为学生提供了有意义的体验。特别是Scott Payne、James Lew、Claire Saint-Pierre、Kristen Paris

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.