當前位置:
首頁 >
python 定义变量_第三章(第2节):变量和常量
發(fā)布時間:2023/12/10
38
豆豆
生活随笔
收集整理的這篇文章主要介紹了
python 定义变量_第三章(第2节):变量和常量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
變量的概念基本上和初中代數(shù)的方程變量是一致的,只是在計算機程序中,變量不僅可以是數(shù)字,還可以是任意數(shù)據(jù)類型,比如我們上節(jié)課剛剛學過的基本數(shù)據(jù)類型或者我們后面要學的自定義數(shù)據(jù)類型。
所謂常量就是不能改變的變量,我們現(xiàn)實世界中存在這樣的不可改變的東西,比如圓周率 π,萬有引力常量 G 等等都是不可改變的量。
本節(jié)我們學習變量和常量的定義和語法。
變量
- 在程序中我們用一個變量名來表示變量,變量名的寫法必須是大小寫英文,數(shù)字和_的組合,且記不能用數(shù)字開頭。小說明:英文符號 # 表示注釋,# 后面的內(nèi)容程序在執(zhí)行時會忽略掉,只有我們程序員才能看到。
- Python 中內(nèi)置一些關(guān)鍵字(我們可以使用 keyword 模塊提供的函數(shù)打印出當前 Python 解釋器規(guī)定的所有關(guān)鍵字,注意 Python 版本不同,所規(guī)定的關(guān)鍵字有所變化),雖然這些關(guān)鍵字符合變量的命名規(guī)則,但是 Python 解釋器規(guī)定不能使用這些關(guān)鍵字作為變量名,否則解釋器報語法錯誤。
- 在 Python 中,英文等號 = 是賦值運算符,可以把任意數(shù)據(jù)類型賦值給變量,同一個變量可以反復賦值,而且可以是不同類型的變量,程序中的等號和數(shù)學上的等號不是一個意思, Python 程序中用兩個等號來表示數(shù)學上的等號。
- 我們也可以把一個變量賦值給另一個變量,這個操作實際上是修改變量指向令一個變量所指向的數(shù)據(jù),看如下代碼。
- 我們對以上代碼進行分析,看看每一句代碼在內(nèi)存中是如何表示的,對于第一句代碼 strone = "Python",Python 解釋器首先檢查字符串 "Python" 中的每個字符在內(nèi)存中是不是存在,如果不存在就給每個字符分配內(nèi)存空間,如果存在則不給該字符創(chuàng)建內(nèi)存,然后 Python 解釋器再次在內(nèi)存中開辟一塊內(nèi)存(比如內(nèi)存地址為:0x8899aa 的地方)存放字符串 "Python" 中每個字符的地址,然后 Python 解釋器再次在內(nèi)存中開辟一塊內(nèi)存存放 strone 變量(比如內(nèi)存地址為:0x223388), strone 變量的值就是字符串 "Python"的地址。注意:0x 開頭是表示用十六進制表示數(shù)值。
- 對于第二句代碼 strtwo = strone,Python 解釋器再次在內(nèi)存中開辟一塊內(nèi)存存放 strtwo 變量(比如內(nèi)存地址為:0x223399),然后 Python 解釋器把 strone 變量內(nèi)存里面的值(0x8899aa)賦值給 strtwo 的內(nèi)存,目前執(zhí)行上面兩句代碼后的內(nèi)存模型如下圖。
- 對于第三句代碼 strone = "Hello",Python 解釋器首先檢查字符串 "Hello" 中的每個字符在內(nèi)存中是不是存在,如果不存在就給每個字符分配內(nèi)存空間,如果存在則不給該字符創(chuàng)建內(nèi)存, Python 解釋器再次在內(nèi)存中開辟一塊內(nèi)存(比如內(nèi)存地址為:0x8899bb 的地方)存放字符串 "Hello" 中每個字符的地址,然后 Python 解釋器把字符串 "Hello" 的地址(0x8899bb)賦值給 strone 的內(nèi)存,最后的結(jié)果是 strone 內(nèi)存的值為 0x8899bb,strtwo 內(nèi)存的值為 0x8899aa,如下圖。
- 注意:"Hello"字符串中 有兩個 l 字符成員,在 Python 解釋器第一次給 l 分配內(nèi)存后,就不會再給第二個 l 分配內(nèi)存了,所以字符串 "Hello" 中兩個 l 成員的內(nèi)存地址是一樣的,大家可以通過 Python 的 id 函數(shù)驗證一下字符串中兩個 l 成員的地址是否一樣。
常量
- 所謂常量就是不能改變的變量,Python 中定義常量和其它語言中定義常量不同,比如 c++ 語言可以在變量名前加上關(guān)鍵字 const 來定義這個變量是常量,常量在定義的時候必須初始化,在這之后就不能修改該常量的值,否則編譯器會報錯。 Python 語言沒有關(guān)鍵字可以把一個變量定義成一個常量,所以 Python 語言本身并沒有常量的語法定義,但我們一般對全大寫字母命名的變量來假定它是常量,程序員本身約定成俗就行了。
- 在任何編程語言中,字符串都是存放在常量區(qū),所以我們都說字符串是常量值,也就是說任何一個變量的值如果是字符串的話,我們則不能通過該變量修改字符串內(nèi)的值。
- Python 基本類型中的數(shù)字,字符串,None 和 bool 值(True 和 False)本身不能修改,我們通常把這些數(shù)據(jù)類型的值叫做右值,但在 Python2 中布爾值可以修改。
本節(jié)重要知識點
- 深刻理解 Python 語言中變量的內(nèi)存模型。
- 要知道 python 中的常量的約定寫法。
作業(yè)
畫出三句代碼 dataone = 8, datatwo = 5, dataone = datatwo 每一步的內(nèi)存模型。
總結(jié)
以上是生活随笔為你收集整理的python 定义变量_第三章(第2节):变量和常量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 西电通报学生找人代做毕设:网购代码完成论
- 下一篇: 匿名函数自我调用_Python中的匿名函