julia const报错_我爱Julia之入门-004

本文介绍了Julia语言中变量的使用,包括赋值、计算及类型转换。变量命名在Julia中非常灵活,支持Unicode字符,但大小写敏感且有特定的命名规则。建议遵循的命名规范包括小写字母开头,使用下划线分隔单词。同时,讨论了变量命名的限制,如避免重定义内置常量和函数。
摘要由CSDN通过智能技术生成

变量

Julia 语言中,变量是与某个值相关联(或绑定)的名字。你可以用它来保存一个值(例如某些计算得到的结果),供之后的代码使用。例如:

julia> # 将 1 赋值给变量 x

julia> x = 1

1

julia> # 使用 x 的值做计算

julia> x + 1

2

julia> # 重新给 x 赋值

julia> x = x + 2

3

julia> #此时,x的值已经改变

julia> x

3

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

julia> x = "Hello World!"

"Hello World!"

Julia 提供了非常灵活的变量命名策略。变量名是大小写敏感的,且不包含语义,也就是说,Julia 不会根据变量的名字来区别对待它们。

julia 是为了科学计算而专门设计的语言,所以,它能够很轻松地输入数学符号。在 Julia REPL 和一些其它的 Julia 编辑环境中,很多 Unicode 数学符号可以使用反斜杠加 LaTeX 符号名再按 tab 健打出。 例如:变量名 δ 可以通过 delta tab 来输入,甚至可以用 alpha tab hat tab _2 tab 来输入 α̂₂ 这种复杂的变量名。 如果你在某个地方(比如别人的代码里)看到了一个不知道怎么输入的符号,你可以在REPL中输入 ?,进入帮助模式。然后粘贴那个符号,帮助文档会告诉你输入方法。(注意,如果你的编辑环境不支持该符号,则输入的符号可能不会显示出来或者是乱码)

2da2a63a1f85dac4cde0f3e9583c1843.png

合法的变量名

变量名字必须以英文字母(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 类别)、引号和少许其他字符。

像 + 这样的运算符也是合法的标识符,但是它们会被特别地解析。 在一些语境中,运算符可以像变量一样使用,比如 (+) 表示加函数,语句 (+) = f 会把它重新赋值。 大部分 Sm 类别中的 Unicode 中缀运算符,像 ⊕,则会被解析成真正的中缀运算符,并且支持用户自定义方法(举个例子,你可以使用语句 const ⊗ = kron 将 ⊗ 定义为中缀的 Kronecker 积)。 运算符也可以使用修改标记、引号和上标/下标进行加缀,例如 +̂ₐ″ 被解析成一个与 + 具有相同优先级的中缀运算符。

如果有需要的话,Julia 甚至允许你重定义内置常量和函数。(这样做可能引发潜在的混淆,所以并不推荐)

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 Main

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

命名规范

虽然 Julia 语言对合法名字的限制非常少,但是遵循以下这些命名规范是非常有用的:

  • 变量的名字采用小写。
  • 用下划线(_)分隔名字中的单词,但是不鼓励使用下划线, 除非在不使用下划线时名字会非常难读。
  • 类型(Type)和模块(Module)的名字使用大写字母开头,并且用大写字母 而不是用下划线分隔单词。
  • 函数(Function)和宏(Macro)的名字使用小写,不使用下划线。
  • 会对输入参数进行更改的函数要使用 ! 结尾。这些函数有时叫做 “mutating” 或 “in-place” 函数,因为它们在被调用后,不仅仅会返回一些值 还会更改输入参数的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值