Julia入門教程-變量

2021-03-06 數據遇到Python與Julia

在Julia語言中,亦是將某個值與之相關聯(或綁定)的名字。它可以用來保存一個值、計算結果等。Julia提供了靈活的變量命名策略,(相比Python還要靈活)。變量名大小寫不敏感,並且不包含語義。

# 將1賦值給變量xjulia> x = 33# 使用變量x的值進行基本計算julia> x * 26
# 使用變量x的值進行平方計算julia> x ^ 29
# 變量名大小寫敏感,x與X不是一個變量,上面我們對變量x進行了賦值,但並沒有對X進行賦值,所以程序會報錯變量X未定義Xjulia> XERROR: UndefVarError: X not defined
# 可以使用UTF-8編碼的unicode字符作為變量名julia> 變量="中文變量""中文變量"# 可以通過輸入\delta tab來輸入julia> δ="1.0""1.0"# 可以通過輸入\alpha tab來輸入julia> α=1.01.0可以通過輸入\alpha tab來輸入\hat tab_2julia> â2=2.02.0

在定義變量時,不能使用已經在Julia中使用的內置變量或函數,否則會報錯:

julia> piπ = 3.1415926535897...
julia> pi = 5.0ERROR: cannot assign a value to variable MathConstants.pi from module MainStacktrace: [1] top-level scope at REPL[13]:1
julia> sqrt(4)2.0
julia> sqrt=3ERROR: cannot assign a value to variable Base.sqrt from module MainStacktrace: [1] top-level scope at REPL[15]:1
julia> coscos (generic function with 13 methods)
julia> cos(10)-0.8390715290764524
julia> cos=5ERROR: cannot assign a value to variable Base.cos from module MainStacktrace: [1] top-level scope at REPL[19]:1

合法的變量名

在Julia中,變量的名字必須以英文字母(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> else = trueERROR: syntax: unexpected "else"Stacktrace: [1] top-level scope at none:1
julia> else = 123ERROR: syntax: unexpected "else"Stacktrace: [1] top-level scope at none:1
julia> try = 1.0ERROR: syntax: unexpected "="Stacktrace: [1] top-level scope at none:1

命名規範

雖然Julia 語言對合法名字的限制非常少,但是遵循以下這些命名規範是非常有用的:

• 變量的名字採用小寫。

• 用下劃線(_)分隔名字中的單詞,但是不鼓勵使用下劃線,除非在不使用下劃線時名字會非 常難讀。

• 類型(Type)和模塊(Module)的名字使用大寫字母開頭,並且用大寫字母而不是用下劃線分 隔單詞。

• 函數(Function)和宏(Macro)的名字使用小寫,不使用下劃線。

• 會對輸入參數進行更改的函數要使用! 結尾。這些函數有時叫做「mutating」或「in-place」函 數,因為它們在被調用後,不僅僅會返回一些值還會更改輸入參數的內容。

關於命名規範的更多信息,可查看代碼風格指南。

相關焦點

  • 這裡有一份Julia極簡入門教程
    Julia 1.0 重磅發布》的文章,為各位讀者報導了有關新興程式語言 Julia 1.0 的有關情況,當時有不少讀者在評論區留言:有沒有教程?今天我們就為有這個需求的讀者朋友們帶來 Julia 極簡入門教程,希望可以幫到你!
  • Julia入門教程-算術運算
    julia> x=22julia> 2x4julia> y=33julia> 2(x+y)10julia> 3+4/25.0在乘法中false被視為0julia> 3*false0julia
  • Julia入門教程-複數和有理數
    複數在Julia 中, 全局常量「im」 被綁定到複數i,表示-1 的主平方根(不應使用數學家習慣的i 或工程師習慣的j 來表示此全局常量,因為它們是非常常用的索引變量名)。- 6.9606644595719imjulia> (-1 + 2im)^(1 + 1im)-0.27910381075826657 + 0.08708053414102428imjulia> 3(2 - 5im)6 - 15imjulia> 3(2 - 5im)^2-63 - 60imjulia
  • Julia教程1:Julia學習資料與工作環境
    不過任何教程都不可能把所有的細節都寫出來,所以當碰到問題的時候,能夠找到權威的資料是最好不過的。幸運的是,Julia在documentation這方面對中國使用者還是非常友好的。下面可以總結一下:1、Julia Documentation。
  • GDB入門教程之查看變量
    在本文所用 demo 下,p int_val 可查看整型變量 int_val 在內存中的值。可以在變量名前面加上文件名或函數名限定變量的範圍。例如,p 'main'::int_val 表示查看 main 函數中的整型變量 int_val 的值。
  • Python零基礎入門教程,如何對私有變量取值和賦值?
    大綱私有變量的取值和賦值使用裝飾器property對私有變量取值和賦值如何對私有變量取值和賦值通過上篇文章講解的對象封裝性,我們知道外部無法訪問私有變量,如果我們想訪問私有變量,可以通過公有的set(賦值)和get(取值)方法訪問
  • Julia(複數和有理數)
    i為全局常量選擇名稱被認為是有害的,因為它是一個如此流行的索引變量名稱。julia> (-3 + 2im) - (5 - 1im)-8 + 3imjulia> (-1 + 2im)^2-3 - 4imjulia> (-1 + 2im)^2.5
  • 用Julia實現你自己的源對源自動微分!
    和 code_typed 宏或者 code_lowered 宏得到的對象不同的是,IR類型實現了一些方便的函數操作,並且IR類型中不會保存變量的名稱,所有的變量都用 %數字 來表示julia> @code_ir foo(1.0)1: (%1, %2) %3 = (Main.baz
  • Julia(建設者)
    julia> foo.bar1julia> foo.baz2對於許多類型,創建實例只需通過將其欄位值綁定在一起來形成新對象。有時必須通過檢查參數或對其進行轉換來強制執行不變量。遞歸數據結構,尤其是那些可能是自引用的數據結構,通常必須先以不完整的狀態創建,然後以編程方式更改為完整的結構,才能與對象創建分開的一個步驟來進行乾淨的構造。有時,使用比欄位少或少的參數類型構造對象是很方便的。Julia的對象構造系統可以解決所有這些情況,甚至更多。
  • 1 Julia簡介及安裝
    說明本教程主要參考:JuliaMapt網站教程(收費的)Julia社區Julia中文社區缺點參考簡書每個語言都有優缺點,Julia的缺點在於:這是Julia官網給出的各種語言之間的速度評測,C的速度為10^
  • python入門第二課:變量和數據類型
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes在Python中,變量可以理解為抽屜,數據就是一個蘋果、香蕉、書本等可以放進抽屜的東西,變量是用來存儲數據的。我們對上一節課的hello world代碼稍加改動,改成下面的代碼,看看會輸出什麼?
  • Julia CFD 00 系列說明
    github上也有julia改寫的CFD Python,項目地址https://github.com/Wallace-dyfq/CFD-Julia-12-steps--o-Navier-Stokes-Equations。然而Julia這幾年版本更新太快,這個項目最後更新於四年前,示例代碼中包含有大量新版本Julia廢棄的語法,導致很多代碼在新版本下沒辦法運行。
  • Julia CFD|00 系列說明
    github上也有julia改寫的CFD Python,項目地址https://github.com/Wallace-dyfq/CFD-Julia-12-steps--o-Navier-Stokes-Equations。
  • 使用Pyhon+Flux+Julia實現手寫數字識別
    使用MNIST數據集對0到9之間的數字進行手寫數字識別是神經網絡的一個典型入門教程
  • Julia:集Python、C++、R等語言為一體的全新語言
    對於1.0 這樣一個版本號,意味著語言做了大量的改進,如果你想查看完整的列表,可以訪問其官網:https://docs.julialang.org/en/release-0.7/NEWS/ Julia 的JIT編譯器與純解釋器相比,JIT(即時)編譯器在代碼運行之前必須解析原始碼然後生成本地機器代碼
  • Prolog 語言簡介與入門
    本文簡單介紹如何使用 Prolog 語言,主要參考了 xmonader 的教程。一、SWI-Prolog學習之前,請安裝 Prolog 的運行環境 SWI-Prolog,才能運行後面的代碼。二、基本語法2.1 常量和變量Prolog 的變量和常量規則很簡單:小寫字母開頭的字符串,就是常量;大寫字母開頭的字符串,就是變量。?- write(abc).abctrue.?- write(Abc)._3386true.
  • 書聲琅琅:好的Python入門教程
    好的Python入門教程,書聲琅琅教育番茄老師微信pykf20介紹,python語言現在應用非常廣泛,不管是大數據還是人工智慧,應用最多的語言還是python,因此對於許多小白來講,看到python從業者的高薪資,想要轉行,或者致力於python開發的朋友,如果要學習python,從零基礎開始,一定需要一套完整的學習路線。
  • Julia的暗黑語法:Unicode輸入
    julia> 1 ⊻ 10julia> 1 ⊻ 01julia> xor(1, 0)1julia> xor(1, 1)0還有一個就是開平方根。輸入 \sqrt+Tab,會輸入 √,這個符號已經是一個運算了,所以可以直接使用:julia> √21.4142135623730951julia> √2 * √22.0000000000000004可以看到這是數值運算,會有誤差的。
  • c語言入門教程
    4.c語言入門教程--基礎知識  數據類型----C的數據類型包括:整型、字符型、實型或浮點型、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。  常量與變量----常量其值不可改變,符號常量名通常用大寫。變量是以某標識符為名字,其值可以改變的量。變量在編譯時為其分配相應存儲單元。  數組----C++語言代碼如果一個變量名後面跟著一個有數字的中括號,這個聲明就是數組聲明。字符串也是一種數組。  指針----如果一個變量聲明時在前面使用 * 號,表明這是個指針型變量。
  • 【技術幹貼】FRAGSTATS 4 官方入門教程 教程1 [中文版]
    原著:Kevin McGarigal翻譯:地理時政志(公眾號、CSDN同名,知乎:Jarviski)FRAGSTATS的官網上有原作者給出的一個很好的軟體入門教程