輕鬆學Python——變數、常量的使用及區別

輕鬆學Python——變數、常量的使用及區別

變數、常量的區別

變數:在程式執行過程中,值會發生變化的量。

常量:在程式執行過程中,值不會發生變化的量。

無論是變數還是常量,在建立時都會在記憶體中開闢一塊空間,用於儲存它的值。

變數

1. Python中的變數不需要宣告型別

這是根據Python的動態語言特性而來。變數可以直接使用,而不需要提前宣告型別。例如下面的a,b,c,d四個變數,在使用前沒有進行任何的諸如 int a, str b, list c , int d 的型別宣告,而這在C語言和JAVA程式語言中是必須要攜帶的。

例如:

a = 4b = “haha”c = [] d = 9-5

2. 用“=”號來給變數賦值

a = 100

這裡的等號要理解並讀作“賦值”,而不是“等於”,“賦值”是對變數的操作,而“等於”是對兩個變數進行比較。上面的a,b,c,d四個變數,就透過“=”號,賦予了不同的值。

3. 每個變數在使用前都必須賦值,變數賦值以後才會被建立。

新的變數透過賦值的動作,建立並開闢記憶體空間,儲存值。如果沒有賦值而直接使用會丟擲賦值前引用的異常或者未命名異常。

例如:

a # 孤單單一個a,什麼也表示不了,只能報錯a = 1 # 這樣就沒問題了,直譯器知道a是個新變量了c。append(1) # c是個什麼鬼?NameError: name ‘c’ is not defined

結果:

輕鬆學Python——變數、常量的使用及區別

輕鬆學Python——變數、常量的使用及區別

4. 在Python中,變數本身沒有資料型別的概念

通常所說的“變數型別”是變數所引用的物件的型別,或者說是變數的值的型別。

a = 1a = “haha”a = [1, 2, 3]a = { “k1”:“v1”}

變數a在建立的時候,賦予了值為1的整數型別,然後又被改成字串“haha”,再又變成一個列表,最後是個字典。變數a在動態的改變,它的值分別是不同的資料型別,這是動態語言的特點。

5. “=”號這個賦值運算子是從右往左的計算順序

a = 1b = 2c = a + b # 先計算a+b的值,再賦給cprint(c)

輕鬆學Python——變數、常量的使用及區別

6. Python允許同時為多個變數賦值

(例如:a = b = c = 1,最終大家都是1)。也可以同時為多個變數賦值,用逗號分隔,逐一對應。

例如:a, b, c = 1, 2, 3,最後a是1,b是2,c是3。

不要把賦值語句的等號等同於數學的等號。

x = 1x = x + 2

如果從數學上理解x = x + 2那無論如何是不成立的,在程式中,賦值語句先計算右側的表示式x + 2,得到結果3,再賦給變數x。由於x之前的值是1,重新賦值後,x的值變成3。

a = ‘ABC’時,Python直譯器幹了兩件事情:

1。 在記憶體中建立了一個‘ABC’的字串物件;

2。 在記憶體中建立了一個名為a的變數,並把它指向‘ABC’。

也可以把一個變數a賦值給另一個變數b,這個操作實際上是將變數b指向變數a所指向的資料,

例如下面的程式碼:

a = ‘Jack’b = aa = ‘Tom’print(b)print(a)

最後變數b的內容到底是‘Jack’還是‘Tom’?如果從數學意義上理解,就會錯誤地得出b和a相同是‘Tom’,但實際上b的值還是‘Jack ‘!

請牢記:Python中的一切都是物件,變數是物件的引用!

圖:

輕鬆學Python——變數、常量的使用及區別

執行a = ‘Jack’,直譯器建立字串‘Jack’物件和變數a,並把a指向‘Jack’物件;

執行b = a,直譯器建立變數b,並且將其指向變數a指向的字串‘Jack’物件;

執行a = ‘Tom’,直譯器建立字串‘Tom’物件,並把a改為指向‘Tom’物件,與b無關。

輕鬆學Python——變數、常量的使用及區別

三、常量

常量就是不變的變數,比如常用的數學常數圓周率就是一個常量。在Python中,通常用全部大寫的變數名錶示常量:

PI = 3。14159265359

但事實上,從Python語法角度看,PI仍然是一個變數,因為Python根本沒有任何機制保證PI不會被改變。你完全可以給PI賦值為10,不會彈出任何錯誤。所以,用全部大寫的變數名錶示常量只是一個習慣上的用法。

常量通常放置在程式碼的最上部,並作為全域性使用。

輕鬆學Python——變數、常量的使用及區別

四、總結

本文基於Python基礎,主要介紹了Python基礎中變數和常量的區別,對於變數的用法做了詳細的講解,用豐富的案例 ,程式碼效果圖的展示能幫助大家更好理解 。

使用Python程式語言,方便大家更好理解,希望對大家的學習有幫助。