本书首先讲解Julia编程语言的基础知识,如Julia编程语言的优势、开发环境、集成开发环境、生态系统、外部库等;然后实例剖析讲解Julia编程语言的基本语法、流程控制、函数应用、面对程序编程;接着实例剖析讲解Julia的核心优势,即多维数组、流、文件操作、网络通信、序列化、日期处理方法、并行计算特性;然后讲解Julia在数据科学中的应用,即Julia数据工程、数据集的可视图;最后讲解Julia在机器学习中的应用,即无监督式机器学习和监督式机器学习。
在讲解过程中即考虑读者的学习习惯,又通过具体实例剖析讲解基于Julia程序开发过程中的热点问题、关键问题及种种难题。
1.知识全面。本书包含Julia编程实战的基础知识、开发和集成开发环境、基本语法、选择结构、循环结构、函数和模块、矩阵操作、数据处理DataFrames和CSV包、Gadfly绘图包、元编程、机器学习RDatasets包、决策树、随机森林、线性回归和K-均值等。
2.案例丰富。笔者精心挑选了大量案例,读者只要反复练习并举一反三,就能掌握Julia编程的实战技巧,进而进行项目开发。
前 言
近年来Julia语言越来越火,已成为编程界的新宠。Julia语言集C语言的运行速度、Ruby的灵活、Python的通用性,以及其他各种语言的优势于一身,并且具有开源、简单易掌握的特点,大有潜力成为取代Python的下一个编程语言。
总之,Julia就是这样一门语言。
(1)快速。Julia一开始就是为高性能而设计的,它可以通过LLVM跨平台被编译成高效的本地代码。
(2)通用。Julia使用多分派作为编程范式,使其更容易表达面向对象和函数式编程的范式。标准库提供了异步I/O、进程控制、日志记录、性能分析,包管理器等。
(3)动态。Julia是动态类型的,与脚本语言类似,并且对交互式使用具有很好的支持。
(4)擅长数值计算。Julia擅长数值计算,它的语法适用于数学计算,支持多种数值类型,并且支持并行计算。Julia的多分派适合定义数值和类数组的数据类型。
(5)可选的类型标注。Julia拥有丰富的数据类型描述,这可以使程序更具可读性。
(6)可组合。Julia的包可以很自然地组合运行。例如,单位数量的矩阵或数据表一列中的货币和颜色可以一起组合使用并且拥有良好的性能。
本书结构
本书共16章,具体章节安排如下。
◎ 第1章:讲解Julia编程语言的基础知识,如Julia编程语言的特点、下载与安装、程序的编写、交互式窗口的提示模式、与其他编程语言的区别。
◎ 第2章到第8章:讲解Julia编程语言的基本语法、选择结构、循环结构、函数和模块、特征数据类型、矩阵操作、文件操作。
◎ 第9章:讲解Julia集成开发软件——JuliaPro,即JuliaPro的下载、安装及操作技巧。
◎ 第10章到第13章:讲解Julia在数据科学中的应用,即数据处理常用包、Gadfly绘图包、日期和时间、元编程和并行计算。
◎ 第14章到第16章:讲解Julia在机器学习中的应用,即机器学习RDatasets包、决策树、随机森林、线性回归和K-均值。
本书特色
本书的特色归纳如下。
◎ 实用性:本书首先着眼于Julia实战应用,然后探讨深层次的技巧问题。
◎ 详尽的案例:本书每一章都附有大量的案例,并通过这些例子介绍知识点。读者只要反复练习笔者精心挑选的案例,并举一反三,就可以掌握Julia编程的实战技巧,并能学以致用。
◎ 全面性:本书包含了Julia编程实战的所有知识,包括基础知识、开发环境和集成开发环境、基本语法、选择结构、循环结构、函数和模块、特征数据类型、矩阵操作、文件操作、数据处理DataFrames和CSV包、Gadfly绘图包、日期和时间、元编程、并行计算、机器学习RDatasets包、决策树、随机森林、线性回归和K-均值。
◎ 内容表现上“形象生动,图文并茂”:为使读者在学习知识时,不至于太过死板,本书采用了大量的图表、图形。
本书适合的读者
本书适合对数据科学知识和应用方法感兴趣的读者,也适合有志学习Julia并从事数据科学相关工作的人员,还可以作为大中专院校的计算机及相关专业的教学参考书。
创作团队
本书由周俊庆、张瑞丽编写,周凤礼、陈宣各、周令、张新义、周二社、王征等人员参与了部分编写工作并对本书的编写提出了宝贵意见。
由于时间仓促,加之水平有限,书中不足之处在所难免,敬请读者批评指正。
原文:println(“64的平方根是:”,cbrt(64))
其中“平方根”应为“立方根”