Julia-变量

合法的变量名

Julia的变量声明方式十分像,是动态的,不必在声明变量的时候声明变量的类型。Julia的变量名大小写敏感,并且变量名不带有任何语义,即:Julia 不会自动将全大写的变量识别为常量,也不会将有特定前后缀的变量自动识别为某种特定类型的变量,即不会根据变量名字,自动判断变量的任何属性。

# 将 10 赋值给变量 x
julia> x = 10
10

# 使用 x 的值做计算
julia> x + 1
11

# 重新给 x 赋值
julia> x = 1 + 1
2

# 也可以给 x 赋其它类型的值, 比如字符串文本
julia> x = "Hello World!"
"Hello World!"

与python不同的是,julia可以使用任何的UTF-8编码的Unicode字符作为变量名:

julia> 你好="hello"
"hello"

julia> σ = 1
1

julia> π = 3.14
3.14

在 Julia REPL 和一些其它的 Julia 编辑环境中,很多 Unicode 数学符号可以使用反斜杠加 LaTeX 符号名再按 tab 健打出。 例如:变量名 δ 可以通过 \delta tab 来输入,甚至可以用 \alpha tab \hat tab \_2 tab 来输入 α̂₂ 这种复杂的变量名。 如果你在某个地方(比如别人的代码里)看到了一个不知道怎么输入的符号,你可以在REPL中输入 ?,然后粘贴那个符号,帮助文档会告诉你输入方法。

julia允许重定义内置常量和函数:

julia> pi = 3
3

julia> pi
3

julia> sqrt = 4
4

但是,当重定义一个在使用的内置常量和函数时会报错:

julia> pi
π = 3.1415926535897...

julia> pi = 3
ERROR: cannot assign variable MathConstants.pi from module Main

julia> sqrt(100)
10.0

julia> sqrt = 4
ERROR: cannot assign variable Base.sqrt from module Main

合法的变量名

变量名字必须以英文字母(A-Z 或 a-z)、下划线或编码大于 00A0 的 Unicode 字符的一个子集开头。 具体来说指的是,Unicode字符分类中的 Lu/Ll/Lt/Lm/Lo/Nl(字母)、Sc/So(货币和其他符号)以及一些其它像字母的符号(例如 Sm 类别数学符号中的一部分)。 变量名的非首字符还允许使用惊叹号 !、数字(包括 0-9 和其他 Nd/No 类别中的 Unicode 字符)以及其它 Unicode 字符:变音符号和其他修改标记(Mn/Mc/Me/Sk 类别)、标点和连接符(Pc 类别)、引号和少许其他字符。

内置语句的名字是唯一明确禁止使用的变量名。

julia> else = false
ERROR: syntax: unexpected "else"

julia> try = "No"
ERROR: syntax: unexpected "="

命名规范

  • 变量名小写
  • 用下划线分割名字中的单词,但是当变量名可辨认的时候不推荐使用下划线
  • Type和Module使用大写字母开头,并且使用大写字母分割单词
  • function和macro的名字使用小写,不使用下划线
  • 会对输入参数进行更改的函数要使用 ! 结尾。这些函数有时叫做 “mutating” 或 “in-place” 函数,因为它们在被调用后,不仅仅会返回一些值 还会更改输入参数的内容。(我也不是很理解)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值