Julia系列二:来入坑吧
2018-09-02 本文已影响332人
鸣人吃土豆
1.数据类型
先看看Julia中的内建数据模块,这些数据模块通常被称为数据类型。Julia中的每个变量都属于一种特定的数据类型,比如整数、字符串、数组等。当然,有些数据类型(比如矩阵或向量)不像你期望的那么容易理解,有些数据类型还可以是其他数据类型的子类型(矩阵和向量都是数值的子类型)。
尽管不是强制性的,但定义变量的类型可以使Julia知道将变量值转换为何种类型。当编写复杂的程序时,这一点非常重要,因为这时程序歧义经常会导致错误和不能预料的结果。如果没有定义变量类型,Julia会自动指定一个符合变量值的最简单的类型(如果没有变量值,Julia会将变量类型指定为通用类型“any”)。下面我们通过几个示例来说明数据类型。
image.png
image.png
因为BigInt和BigFloat属于特殊数据类型,所以它们不能通过两个冒号的方法(::)来定义,必须分别使用BigInt()和BigFloat()构造函数来定义这两种变量。
BigInt和BigFloat类型对于其中的数值大小没有限制,所以非常适合于处理任意大小的数值。但是,它们非常占用内存,所以不要随意地使用这两种数据类型。如果确实需要使用它们,请一定按部就班地对变量进行初始化。例如:
image.png
2.数组
数组是Julia中的基础数据类型,它使你可以处理任意类型数据的集合,也可以处理不同类型数据组成的集合。和其他语言(比如R和Python)一样数组的索引位于方括号内,方括号也可以用来将一组变量定义为数组。
和其他语言一样,数组是一种可变的数据结构,这使得它与那些不可变的数据类型(比如元组或某种字典类型)相比,运算速度较慢。
image.png image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png image.png
image.png
image.png
image.png
image.png