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

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』Julia语言程序设计

書城自編碼: 3265518
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 魏坤
國際書號(ISBN): 9787111607571
出版社: 机械工业出版社
出版日期: 2018-10-01


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

售價:NT$ 644

我要買

share:

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



新書推薦:
清华大学藏战国竹简校释(壹):《命训》诸篇
《 清华大学藏战国竹简校释(壹):《命训》诸篇 》

售價:NT$ 408.0
封建社会农民战争问题导论(光启文库)
《 封建社会农民战争问题导论(光启文库) 》

售價:NT$ 296.0
虚弱的反攻:开禧北伐
《 虚弱的反攻:开禧北伐 》

售價:NT$ 429.0
泰山:一种中国信仰专论(法国汉学经典译丛)
《 泰山:一种中国信仰专论(法国汉学经典译丛) 》

售價:NT$ 380.0
花外集斠箋
《 花外集斠箋 》

售價:NT$ 704.0
有兽焉.8
《 有兽焉.8 》

售價:NT$ 305.0
大学问·明清经济史讲稿
《 大学问·明清经济史讲稿 》

售價:NT$ 330.0
中国国际法年刊(2023)
《 中国国际法年刊(2023) 》

售價:NT$ 539.0

建議一齊購買:

+

NT$ 449
《 Julia数据科学应用 》
+

NT$ 624
《 Julia编程从入门到实践 》
+

NT$ 593
《 你不知道的JavaScript 中卷 》
+

NT$ 435
《 Go程序员面试算法宝典 》
+

NT$ 324
《 Bootstrap响应式网站开发实战 》
+

NT$ 466
《 分布式对象存储 原理 架构及Go语言实现 》
編輯推薦:
这是一本Julia语言入门手册,手把手教你学习Julia编程语言,不仅介绍各种功能、编程要点,而且包含大量示例代码,以及编程技巧提示。
內容簡介:
本书系统地介绍Julia编程语言的基本概念、各种功能、编程要点,包含大量示例代码以及编程技巧。全书共16章。第1~2章介绍Julia语言的基本特点、基础概念。第3~4章介绍Julia语言的数值系统、各种运算符使用规则。第5~6章介绍类型系统,以及经典的判断、循环逻辑。第7~8章介绍函数与方法,以及Julia的核心优势——多维数组。第9~11章介绍字符串与日期处理方法以及元编程。第12章介绍与IO相关的内容,包括流、文件操作、网络通信及序列化等。第13章介绍Julia代码的组织方式,包括模块、文件以及包。第14章介绍Julia原生提供的并行计算特性,是Julia颇具魅力的内容之一。第15章介绍Julia与CC++、Python进行混合编程的基本方法。第16章总结了Julia编程方面的经验以及优化建议。本书内容丰富,讲解细腻,适合于所有软件开发人员,以及高等院校相关专业师生。
關於作者:
魏坤,上海交通大学控制理论与控制工程专业人工智能研究方向博士毕业,曾就职于阿里巴巴、大众点评,任大数据挖掘与机器学习专家。他一直醉心研究Julia编程语言与应用,分享了大量广受好评的技术文章。
目錄
前言
第1章 初识Julia1
1.1 有用的资源2
1.2 环境准备4
1.2.1 二进制包安装5
1.2.2 编译安装7
1.3 交互式控制台8
1.4 命名规则与关键字11
1.5 先睹为快12
1.5.1 Hello World12
1.5.2 体型分布案例13
1.5.3 小结18
第2章 基础概念19
2.1 静态与动态语言19
2.2 内存管理20
2.3 经典编程范式21
第3章 数值系统24
3.1 整型24
3.1.1 表达方式25
3.1.2 类型强制限定27
3.1.3 有无符号转换28
3.2 布尔型29
3.3 浮点型30
3.3.1 基本定义31
3.3.2 零的表达32
3.3.3 epsilon34
3.3.4 无穷值35
3.3.5 非数值37
3.3.6 内置常量37
3.4 有理数型38
3.5 复数型40
3.6 随机数42
3.7 任意精度算术43
第4章 运算符46
4.1 算术运算符46
4.2 位运算符51
4.3 更新运算符55
4.4 比较运算符56
4.5 逻辑运算符60
4.6 运算优先级61
4.7 类型提升62
第5章 控制逻辑64
5.1 复合表达式64
5.2 判断逻辑65
5.3 循环逻辑67
5.3.1 while67
5.3.2 for69
5.4 异常处理73
5.4.1 异常触发73
5.4.2 异常捕捉74
第6章 类型系统77
6.1 类型简介77
6.2 抽象类型78
6.3 元类型80
6.4 类型操作83
6.4.1 弱类型机制83
6.4.2 类型断言84
6.4.3 DataType 85
6.4.4 类型别称86
6.4.5 继承关系87
6.5 复合类型88
6.5.1 基本定义88
6.5.2 默认构造函数90
6.5.3 成员访问及不可变性91
6.5.4 单例复合类型93
6.6 类型联合94
6.7 TypeVar96
6.8 类型参数化97
6.8.1 参数化复合类型97
6.8.2 参数化抽象类型102
6.8.3 参数化元类型105
6.8.4 参数化基本原理106
6.8.5 参数化继承关系108
6.8.6 协变与逆变110
6.9 常用数集112
6.9.1 元组113
6.9.2 键值对115
6.9.3 字典117
6.9.4 集合121
6.10 缺失值的表达123
6.10.1 missing123
6.10.2 nothing125
6.10.3 可有可无的表达125
第7章 函数129
7.1 基本定义129
7.1.1 常规结构129
7.1.2 类型限定130
7.1.3 共享传参132
7.1.4 数集展开式调用133
7.1.5 多返回值134
7.2 参数传递方式134
7.2.1 默认参数134
7.2.2 键值参数135
7.2.3 可变参数137
7.3 函数对象140
7.3.1 Function类型140
7.3.2 函数作为参数141
7.3.3 函数作为返回值143
7.4 匿名函数144
7.5 参数化方法146
7.6 多态分发148
7.7 复合类型构造方法153
7.7.1 外部构造方法153
7.7.2 内部构造方法155
第8章 多维数组158
8.1 创建数组158
8.1.1 串联方式160
8.1.2 辅助构造函数163
8.1.3 范围表达式164
8.1.4 推导式168
8.2 索引访问169
8.3 遍历迭代176
8.4 子数组与视图179
8.4.1 范围切片179
8.4.2 逻辑索引180
8.4.3 局部视图180
8.5 稀疏数组182
8.5.1 典型稀疏结构183
8.5.2 结构转换184
8.5.3 内容映射186
8.6 矢量化计算189
8.6.1 map函数189
8.6.2 广播192
8.6.3 点操作193
8.6.4 数组运算符196
8.7 排序197
8.8 查找200
8.9 missing作为元素205
8.10 线性代数中的矩阵处理207
8.10.1 矩阵操作207
8.10.2 特殊矩阵208
8.10.3 矩阵分解211
第9章 字符串217
9.1 字符217
9.2 String对象220
9.2.1 表达220
9.2.2 索引221
9.2.3 遍历223
9.2.4 子串224
9.3 变量替换225
9.4 正则表达式226
9.5 常用操作229
9.5.1 连接229
9.5.2 比较232
9.5.3 搜索232
9.5.4 替换234
9.5.5 分割235
9.6 字节数组237
9.7 与数值的转换239
第10章 元编程241
10.1 Symbol类型241
10.2 Expr类型243
10.2.1 构造243
10.2.2 衍生248
10.3 宏249
10.3.1 定义250
10.3.2 调用250
10.3.3 预定义宏251
第11章 时间与日期255
11.1 类型255
11.2 构造257
11.3 访问260
11.4 解析262
11.5 运算265
11.5.1 早晚比较265
11.5.2 时长计算267
11.5.3 时间序列269
11.5.4 周期舍入270
11.6 属性273
第12章 流与IO275
12.1 标准流275
12.2 文件操作278
12.3 读写缓存281
12.4 流的回溯284
12.5 序列化287
12.6 网络通信290
第13章 组织结构294
13.1 模块294
13.1.1 基本定义294
13.1.2 标准模块296
13.1.3 模块路径298
13.1.4 预编译298
13.2 模块与脚本文件299
13.3 变量域300
13.3.1 全局域302
13.3.2 局部域302
13.3.3 let关键字305
13.4 包309
13.4.1 管理机制309
13.4.2 安装移除312
13.4.3 更新固化317
13.4.4 小结318
第14章 并行计算319
14.1 基础概念319
14.1.1 进程与线程319
14.1.2 条件变量320
14.2 协程调度321
14.3 数据通道325
14.3.1 Channel对象325
14.3.2 通道绑定330
14.4 远程调用与远程引用332
14.5 共享数组345
14.6 方法小结348
第15章 混合编程351
15.1 运行外部程序351
15.2 调用CC++352
15.2.1 链接库操作352
15.2.2 函数调用353
15.2.3 数据访问356
15.2.4 C++接口358
15.3 嵌入CC++358
15.4 与Python互调362
第16章 Julia编程规范364
16.1 文档注释364
16.2 高性能编程建议368
16.2.1 类型369
16.2.2 函数373
16.2.3 数组377
16.2.4 IO381
16.2.5 其他381
16.3 与其他语言的异同382
16.3.1 与Python相比382
16.3.2 与Matlab相比384
16.3.3 与R相比385
16.4 Julia代码风格387
第17章 编程实战389
17.1 决策树基本概念389
17.2 决策树分类器的实现391
17.3 随机森林算法的构建406
附录A 内置异常类型409
附录B 内置系统常量411
附录C 字符串操作函数413
附录D 常用包简介416
后记428
內容試閱
几十年前,科学家为了避免处理重复、单调的事情,比如反复地按一套公式计算结果等,发明了计算机。计算机其实是工业自动化的一个产物,可以说是工业化时代的巅峰代表。当时人们怎么也不会想到,计算机的发展带来了互联网,而互联网导致了信息化时代的到来。如今,在数据蔓延、不断渗透的过程中,智能化代表了未来的发展方向。
与此同时,数据的不断累积、膨胀、延伸引发了计算领域的深刻变化,而且数据的密集性和分布性也提出了大量的计算密集性和分布式要求。很多工业级的生产场景中,在要求开发高效率、维护低成本、运行高可靠的同时,还需要具备高性能的特点。Julia语言应运而生了。
为何撰写本书
Julia借助于JIT动态解析器及其优秀的设计机制,在一些计算特性上能达到静态语言的性能,这是非常令人惊讶的,也是吸引笔者的地方。笔者在大数据挖掘与机器学习领域浸淫十几年,面对种类繁多、数量巨大、计算逻辑复杂的各种问题,深感性能与开发效率极为重要。本想浅尝,但却再无法舍弃,Julia语言的各种特性令笔者兴奋不已。
几年前我开始接触Julia,其自然快捷的编写感受,顺畅舒适的体验,与现在广为使用的Python颇为相近。但Julia更多的是以科学与数值计算为目的,原生的并发机制与分布式、云计算特性,简洁人性化的语法,以及媲美于静态语言的性能,所有这些表现都是笔者期待已久的。而今,在日常的数据分析和前期数据处理中,笔者都会首选Julia语言。
为了让喜爱的Julia语言能够更快普及,进入首选的工业级技术架构,笔者不揣浅陋,捉笔从文,写就此书,以求与各位爱好者共同进步。也期冀Julia能成为一个写着简单、读着愉悦、迁移方便、应用广泛、性能强劲的通用编程语言,让我们在开发工作中不再纠结语言的选择。
Julia的官方文档还算详细,但组织结构并不清晰,概念散乱各处,对初学者并不友好。为此,笔者愿意以此书为契机,将这几年的经验分享给大家,希望能更条理清晰地展现Julia的特色,帮助大家更快、更好地熟悉并掌握Julia,并在实际开发中获益。
本书的结构
Julia语言不仅提供了灵活、多样、简洁的语法,更有很多符合实际开发需求的强大特性,也充满了人性化的设计。它不仅支持各种类型的声明定义、贴近于数学概念的计算规则,还在常见的高维数组、字符串处理、国际化支持、元编程等方面提供了强大的支持。尤其是在并行计算、混合编程等方面更是独具特色,原生地提供了良好的机制,使得这方面的编程工作变得极为快捷便利。
为了能够让读者通过本书了解、认识、掌握Julia语言的基本概念并能付诸实践,笔者反复对掌握的资料进行了梳理、调整,并且基于真实的运行环境,尽可能地为每个功能点提供相应的示例代码,以求准确、明晰地阐明各个要点。本书主要内容如下:
第1章介绍Julia语言的基本情况,同时重点介绍Julia运行环境的使用方法。
第2章对编程语言的基础概念进行了简单的介绍,能够帮助读者在后续的学习中理解Julia语言的特点,对于有经验的读者可做选读内容。
第3章从包括有理数、复数在内的基本数值系统开始,详细地介绍Julia语言的基本语法。
第4章基于前一章介绍的各种数值类型介绍Julia的各种运算符使用规则。
第5章主要介绍经典的判断、循环逻辑,还有Julia中较为特别的复合表达式。
第6章介绍类型系统,这是Julia语言的精髓,包括抽象类型、元类型及复合类型等,都有着Julia自己的特点。另外,该章还会重点介绍类型参数化的内容,这也是Julia灵活适应各种应用场景的基础。该章介绍的元组、字典、集合等结构也是开发Julia程序时常会用到的数集。
第7章介绍函数与方法,这不但是Julia多态分发机制的基础,也是Julia博采众长的精华。
第8章介绍Julia被称为数值计算语言的核心优势特性——多维数组。数组是科学计算中最为常见的数据结构,但能够以统一的结构表达向量、矩阵、张量甚至高维空间的机制,却是Julia的特色。
第9章介绍开发中经常遇到的字符串处理方法,包括常见的正则表达式等。
第10章使我们能够更深刻地认识Julia中“一切皆对象”的理念,因为通过Symbol与Expr类型的封装,Julia代码也是对象的一部分。这章介绍的宏,也是在Julia开发中极为强大的特性。
第11章介绍时间和日期的处理方法。
第12章介绍与IO相关的内容,包括流、文件操作、网络通信及序列化等。通过该章的学习,我们会再一次为Julia的简洁、高效所折服。
第13章介绍Julia代码的组织方式,包括模块、文件以及包,尤其是对包的管理进行了较为详尽的阐述。
第14章介绍Julia原生提供的并行计算特性,这也是Julia最具魅力的内容之一。在该章中,我们会详尽地阐述协程任务、远程调用及引用,还有数据通道等方面的内容。
第15章可以作为选读内容,介绍Julia与CC++、Python进行混合编程的基本方法。不过由于运行环境等方面的约束,在学习该章时,如果要通过实例进行实践,建议在Linux或MacOS下进行。
第16章给出了对Julia编程方面的经验总结或优化建议。该章也可作为选读内容,不过笔者仍建议所有的读者能认真学习该章内容,并通过实例进行体验,这样才能对Julia语言有更为深刻的认识。
第17章以机器学习领域中经典的决策树算法为例,展示如何用Julia实现该算法的主要过程。在这个实践中,我们对Julia各种语法技巧的使用会有更切实的认知。
在本书的结尾,以附录的方式列举了Julia中常见的异常类型、系统常量以及字符串操作函数,而且对可能有用的第三方包进行了简单的介绍,希望读者能够通过这方面的内容,了解Julia社区的强大力量,习惯性地从社区中获得各种支持。
另外,在本书撰写时,为了简明扼要地将概念阐述清楚,在确保不会影响读者了解语言的核心应用要点的情况下,在内容上进行了适当缩减。如果读者想了解更深入的内容,可以通过官网查阅更多的资料进行学习。
本书适合的读者
本书尽量从基础知识入手,逐步深入地介绍Julia语言。但因为Julia语言的设计与实现借鉴了众多先进的理念,所以本书难以进行大而全的阐述,省略了不少内容。所以本书不适合没有任何编程经验的读者,读者至少要了解面向对象、泛型编程与函数式等编程概念。
由于本书几乎涉及了Julia语言的方方面面,要点颇多,所以建议读者在通过本书学习Julia语言时,能够按照其中的实例,多多动手实践,并能在实际的编程工作中选用Julia语言,进行一些开发实践。无论哪一种语言,动手实践是掌握这门语言的唯一捷径。
致谢
首先感谢设计与实现Julia语言的近700位贡献者,为计算机与科学领域提供了一门简洁易用的语言;也感谢近2000个第三方库的社区贡献者,让Julia语言能够快速普及,焕发出了蓬勃的生机。
此外,感谢上海交通大学副教授潘汉博士在本书校对期间给予的大力支持。
在本书数月的撰写过程中,妻子冯莹霞和家人的支持与照顾让笔者感动不已,有了她们本书才能够有机会顺利完成,与读者们相见。感谢她们给予我的一切!

 

 

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