python变量和常量_python 变量与常量 - 刘江的python教程
變量與常量
閱讀:?17356
評論:7
變量:在程序運行過程中,值會發生變化的量
常量:在程序運行過程中,值不會發生變化的量
無論是變量還是常量,在創建時都會在內存中開辟一塊空間,用于保存它的值。
Python 中的變量不需要聲明類型。
這是根據Python的動態語言特性而來。變量可以直接使用,而不需要提前聲明類型。例如下面的a,b,c,d四個變量,在使用前沒有進行任何的諸如int a, str b, list c ,int d的類型聲明,而這在C和JAVA中是必須的。
>>> a = 4
>>> b = "haha"
>>> c = []
>>> d = 9-5
用“=”號來給變量賦值
a = 100
這里的等號要理解并讀作“賦值”,而不是“等于”,“賦值”是對變量的操作,而“等于”是對兩個變量進行比較。上面的a,b,c,d四個變量,就通過“=”號,賦予了不同的值。
每個變量在使用前都必須賦值,變量賦值以后才會被創建。
新的變量通過賦值的動作,創建并開辟內存空間,保存值。如果沒有賦值而直接使用會拋出賦值前引用的異常或者未命名異常。例如:
>>> a # 孤單單一個a,什么也表示不了,只能報錯
Traceback (most recent call last):
File "", line 1, in
a
NameError: name 'a' is not defined
>>> a = 1 # 這樣就沒問題了,解釋器知道a是個新變量了
>>> c.append(1) # c是個什么鬼?
Traceback (most recent call last):
File "", line 1, in
c.append(1)
NameError: name 'c' is not defined
Python中,一切事物都是對象,變量引用的是對象或者說是對象在內存中的地址。
這條我們靠后詳說。
在Python中,變量本身沒有數據類型的概念,通常所說的“變量類型”是變量所引用的對象的類型,或者說是變量的值的類型。
>>> a = 1
>>> a = "haha"
>>> a = [1, 2, 3]
>>> a = { "k1":"v1"}
例子中,變量a在創建的時候,賦予了值為1的整數類型,然后又被改成字符串“haha”,再又變成一個列表,最后是個字典。變量a在動態的改變,它的值分別是不同的數據類型,這是動態語言的特點。
“=”號這個賦值運算符是從右往左的計算順序。
>>> a = 1
>>> b = 2
>>> c = a + b # 先計算a+b的值,再賦給c
>>> c
3
Python允許同時為多個變量賦值。
例如:a = b = c = 1,最終大家都是1。
也可以同時為多個變量賦值,用逗號分隔,逐一對應。
例如:a, b, c = 1, 2, 3,最后a是1,b是2,c是3.
不要把賦值語句的等號等同于數學的等號。
x = 1
x = 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 = a
a = 'Tom'
print(b)
print(a)
最后變量b的內容到底是'Jack'還是'Tom'?如果從數學意義上理解,就會錯誤地得出b和a相同是‘Tom’,但實際上b的值還是'Jack ‘!
請牢記:Python中的一切都是對象,變量是對象的引用!:
執行a = ‘Jack’,解釋器創建字符串‘Jack’對象和變量a,并把a指向‘Jack’對象;
執行b = a,解釋器創建變量b,并且將其指向變量a指向的字符串‘Jack’對象;
執行a = ‘Tom’,解釋器創建字符串‘Tom’對象,并把a改為指向‘Tom’對象,與b無關。
最后我們還要說下常量!
常量就是不變的變量,比如常用的數學常數圓周率就是一個常量。在Python中,通常用全部大寫的變量名表示常量:
PI = 3.14159265359
但事實上,從Python語法角度看,PI仍然是一個變量,因為Python根本沒有任何機制保證PI不會被改變。你完全可以給PI賦值為10,不會彈出任何錯誤。所以,用全部大寫的變量名表示常量只是一個習慣上的用法。
常量通常放置在代碼的最上部,并作為全局使用。
評論總數: 7
用的什么版本啊
By
wmdsjhj???On
2019年1月9日 10:15
回復
1.11
博主
回復
wmdsjhj
2019年1月9日 19:40
回復
謝謝博主
By
我是陳獨秀我還想發言???On
2018年12月15日 11:20
回復
教程很貼合廣大學生的實際,真的很贊!
By
虎嘯云飄舞???On
2018年11月15日 21:46
回復
我是一個初學者 以前只是在大學里學過C 希望跟你多多學習!
By
嚴溪彬???On
2018年8月1日 23:19
回復
看了你寫的BOLG受益良多 希望你能貢獻更多更好等教程
By
堰塘撈魚???On
2018年7月16日 15:57
回復
第一次瀏覽你的網頁很感謝你,希望你能夠繼續在這方面付出。
By
愛肖男???On
2018年7月14日 01:50
回復
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python变量和常量_python 变量与常量 - 刘江的python教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文二作对硕博研究生有用吗?
- 下一篇: 警示!国基金评审过程“打招呼”被通报批评