【Julia】变量
Abstract: 本文介绍Julia变量的相关内容,包括Julia的变量命名,以及命名的惯用法则(命名风格)
Keywords: Julia变量,Julia变量名,Julia命名一般规则
Julia 变量
如果Julia不是你的入门编程语言,那么对于编程语言中的变量应该已经习以为常,在C语言中,变量名对应于一个内存地址(需要声明变量类型)而在高级一些的语言中,比如python,变量名更抽象,他对应于一个值,或者可以理解为它存储了这个值,这个值可以是该语言允许的任何类型(不需要声明变量类型)。
Julia的变量属于后者,不需要声明变量类型,而是可以让你的合法变量名随时存储任何Julia变量类型的值。
如果Julia是你的第一门编程语言,那么你只要知道,变量名存储了一个变量值就可以了。
在交互模式下,我们进行一下操作,比如输入 x=10 后回车,就会输出10这个结果,接着你可以输入指令 x+1 回车,就会显示 10+1 的结果,如下:
# Assign the value 10 to the variable xjulia> x = 1010# Doing math with x's valuejulia> x + 111# Reassign x's valuejulia> x = 1 + 12# You can assign values of other types, like strings of textjulia> x = "Hello World!""Hello World!"任何编译器解释器都不会关心这个变量叫什么名字,所有变量在解释器面前一视同仁,所以你不用担心你的变量名字不好听而影响程序执行效果。
接着再看几个例子(例子都来自Julia文档)
julia> x = 1.01.0julia> y = -3-3julia> Z = "My string""My string"julia> customary_phrase = "Hello world!""Hello world!"julia> UniversalDeclarationOfHumanRightsStart = "人人生而自由,在尊严和权利上一律平等。""人人生而自由,在尊严和权利上一律平等。"更厉害的是Julia的变量名不止局限于英文字符的组合,unicode字符通过 UTF-8 编码也可以成为变量,换句话说,希腊字母,中文字符,日文,韩文等这些都可以做变量名,这就厉害了,python 和c/c++ 是不行的:
julia> δ = 0.000011.0e-5julia> 你好地球 = "Hello world""Hello world"julia> 안녕하세요 = "Hello""Hello"怎么样,可以用中文命名变量名了以后,你会在你的工程中使用中文命名你的变量名么?注意到上面 $\delta$ 的同学们可能在想这个变量在实际中怎么使用呢?好消息,用latex就可以,当然只有部分编辑器或者IDE支持这个功能,Julia REPL 是支持的,上面的 $\delta$ 在Julia REPL的写法就是 \delta-*tab* ,如果你发现那个字符不知道怎么写,比如你看别人的代码中有个 $\zeta$ 不知道怎么写,你只需要在Julia REPL 中输入 ? 然后在后面粘贴那个字符即可。有一些编程语言会为编译器或者编辑器定义一些常量以及函数,这些常量或函数一般不允许用户修改,但是Julia可以,如果你明确知道自己在做什么,那么这个操作可以帮助你的程序更好更符合你想象的方式进行,但是如果你还是个新手,建议不要随意修改内置常量或函数,因为你很有可能忘记自己修改过这个常量或函数,而在别的部分再次当做原始功能使用,就会造成很隐蔽的bug。julia> pi = 33julia> pi3julia> sqrt = 44但是如果这个常量或函数先被使用,而你在之后尝试重新定义或者修改,那么Julia就会抛出错误:
julia> piπ = 3.1415926535897...julia> pi = 3ERROR: cannot assign variable MathConstants.pi from module Mainjulia> sqrt(100)10.0julia> sqrt = 4ERROR: cannot assign variable Base.sqrt from module MainJulia 变量命名规则
变量名的命名规则:
- 变量名以字母 A-Z or a-z,下划线,或者Unicode中大于00A0的部分 开头(更过详细的Unicode参考4)
- 像
+这类操作符也是可以用作标识符的,但是这种用法非常特殊,比如再从新定义加法操作的时候,加法操作就是用(+)来定义的,...
剩余内容已隐藏
【Julia】变量
Abstract: 本文介绍Julia变量的相关内容,包括Julia的变量命名,以及命名的惯用法则(命名风格)
Keywords: Julia变量,Julia变量名,Julia命名一般规则
Julia 变量
如果Julia不是你的入门编程语言,那么对于编程语言中的变量应该已经习以为常,在C语言中,变量名对应于一个内存地址(需要声明变量类型)而在高级一些的语言中,比如python,变量名更抽象,他对应于一个值,或者可以理解为它存储了这个值,这个值可以是该语言允许的任何类型(不需要声明变量类型)。
Julia的变量属于后者,不需要声明变量类型,而是可以让你的合法变量名随时存储任何Julia变量类型的值。
如果Julia是你的第一门编程语言,那么你只要知道,变量名存储了一个变量值就可以了。
在交互模式下,我们进行一下操作,比如输入 x=10 后回车,就会输出10这个结果,接着你可以输入指令 x+1 回车,就会显示 10+1 的结果,如下:
# Assign the value 10 to the variable xjulia> x = 1010# Doing math with x's valuejulia> x + 111# Reassign x's valuejulia> x = 1 + 12# You can assign values of other types, like strings of textjulia> x = "Hello World!""Hello World!"任何编译器解释器都不会关心这个变量叫什么名字,所有变量在解释器面前一视同仁,所以你不用担心你的变量名字不好听而影响程序执行效果。
接着再看几个例子(例子都来自Julia文档)
julia> x = 1.01.0julia> y = -3-3julia> Z = "My string""My string"julia> customary_phrase = "Hello world!""Hello world!"julia> UniversalDeclarationOfHumanRightsStart = "人人生而自由,在尊严和权利上一律平等。""人人生而自由,在尊严和权利上一律平等。"更厉害的是Julia的变量名不止局限于英文字符的组合,unicode字符通过 UTF-8 编码也可以成为变量,换句话说,希腊字母,中文字符,日文,韩文等这些都可以做变量名,这就厉害了,python 和c/c++ 是不行的:
julia> δ = 0.000011.0e-5julia> 你好地球 = "Hello world""Hello world"julia> 안녕하세요 = "Hello""Hello"怎么样,可以用中文命名变量名了以后,你会在你的工程中使用中文命名你的变量名么?注意到上面 $\delta$ 的同学们可能在想这个变量在实际中怎么使用呢?好消息,用latex就可以,当然只有部分编辑器或者IDE支持这个功能,Julia REPL 是支持的,上面的 $\delta$ 在Julia REPL的写法就是 \delta-*tab* ,如果你发现那个字符不知道怎么写,比如你看别人的代码中有个 $\zeta$ 不知道怎么写,你只需要在Julia REPL 中输入 ? 然后在后面粘贴那个字符即可。有一些编程语言会为编译器或者编辑器定义一些常量以及函数,这些常量或函数一般不允许用户修改,但是Julia可以,如果你明确知道自己在做什么,那么这个操作可以帮助你的程序更好更符合你想象的方式进行,但是如果你还是个新手,建议不要随意修改内置常量或函数,因为你很有可能忘记自己修改过这个常量或函数,而在别的部分再次当做原始功能使用,就会造成很隐蔽的bug。julia> pi = 33julia> pi3julia> sqrt = 44但是如果这个常量或函数先被使用,而你在之后尝试重新定义或者修改,那么Julia就会抛出错误:
julia> piπ = 3.1415926535897...julia> pi = 3ERROR: cannot assign variable MathConstants.pi from module Mainjulia> sqrt(100)10.0julia> sqrt = 4ERROR: cannot assign variable Base.sqrt from module MainJulia 变量命名规则
变量名的命名规则:
- 变量名以字母 A-Z or a-z,下划线,或者Unicode中大于00A0的部分 开头(更过详细的Unicode参考4)
- 像
+这类操作符也是可以用作标识符的,但是这种用法非常特殊,比如再从新定义加法操作的时候,加法操作就是用(+)来定义的,...
剩余内容已隐藏