python基礎之變量
一、什麽是變量
變量是所有編程語言都有的語言特性之一,所以想學習編程就必須了解變量。那麽什麽是變量呢?從名字上看主要分為變和量兩部分,變即改變、變化;量即值、數據,變量在編程語言中就是用來存儲數據的抽象概念,它的值是可以改變的。
二、變量的作用
那麽變量有什麽作用呢?先看如下場景,月底到了你要算算這個月各項開支以及總支出,賬本信息如下
|
吃飯 |
買衣服 |
交通 |
娛樂消費 |
6月1日 |
35 |
236 |
10 |
200 |
6月2日 |
30 |
120 |
20 |
147 |
6月3日 |
150 |
|
15 |
223 |
6月4日 |
45 |
|
22 |
187 |
…………….. |
|
|
|
|
Total |
265 |
356 |
186 |
1200 |
各項開支結算如下:
吃飯:35+30+150+45+...=265
買衣服:236+120=356
交通:10+20+15+22+...=186
娛樂消費:200+147+223+187+...=1200
總消費:265+356+186+1200=2007
發現了嗎,我們在計算總消費時是將各項開支的計算結果相加得出的結果,但是在用程序去計算的時候我們是無法預先知道各項開支是多少的,怎麽辦呢。這個時候就該我們的變量出場了,我們只需要把各項開支的計算結果用不同的變量存儲起來,在計算總消費的時候調用這些變量得到各項開支的數值在相加就能得到總消費了。從這裏可以看出變量的作用就是把數據臨時存到內存裏,以備後面的代碼繼續調用。
三、如何定義與使用變量
我們知道的了什麽是變量以及變量的作用,那究竟該如何定義變量並且使用變量呢。變量定義有三要素:變量名、賦值符號、變量值。
1、變量名
變量名又稱為標識符,定義變量名有如下三條規則:
1)變量名只能使用字母、數字、下劃線
2)變量名的第一個字符不能是數字
3)python的關鍵字不能作為變量名,比如[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
變量名的書寫有如下兩個規範:
1)多個單詞連接的變量名應該按以下兩種格式之一書寫
1.1 AgeOfOldBoy 每個單詞的首字母大寫
1.2 age_of_oldboy 每個單詞之間用下劃線連接,這也是官方推薦書寫方式
2)常量的書寫
python中沒有常量的概念,一般約定俗成的是將變量名全部大寫以表示該變量為常量,但是這僅僅是提示作用,比如OLDBOY_AGE=84
2、賦值符號
關於賦值符號將在python基礎之運算符中詳細說明,這裏暫時只需要知道最簡單的賦值符號是“=”,比如a=2代表將變量值2賦值給變量a,b=a代表將變量a的值賦值給變量b。
3、變量值
變量值就是我們要存儲的數據,它可以是任何形式的數據,數字、字符串、列表、元祖、字典、集合。。。。都可以
我們定義了變量要如何使用變量呢?很簡單,只需要使用變量名就可以調用它所存儲的變量值,看如下代碼:
name=‘alex‘
print(name)
上面的代碼我們定義了一個變量name並將字符串alex賦值給它,然後使用變量名將變量值用print函數輸出。
四、python垃圾回收
程序員在編程的時候大都需要寫代碼將不用的變量刪除,釋放占用的空間,否則隨著程序運行內存會被占滿然後報內存溢出的錯誤。幸運的是python程序員不需要管這些,因為python的垃圾回收機制會自動將那些不用的變量刪除釋放內存空間。那麽python是如何知道哪些變量是不用的呢?這其實是通過python中一個叫引用計數的東西完成的,那引用計數又是什麽呢,要說明引用計數我們需要先說一說python的賦值具體是怎麽一回事。
python中變量值賦值給變量實際上是在內存中開辟一塊空間將變量值存儲在裏面然後建立變量名到變量值所在內存空間的引用關系,就像給一個房間掛上一個門牌一樣,讓別人知道怎麽找到這個房間,同時就會將引用計數加一,這個引用計數反應的就是這個房間有幾個門牌號。那麽如何讓引用計數增加又如何讓引用計數減少呢?增加引用計數的方式有定義一個新變量以及將一個變量賦值給另一個變量或者再將這個變量賦值給另外一個變量,比如a=1、b=a、c=b,都會讓變量值1所在的內存空間的引用計數增加;減少引用計數的方式有刪除變量,給變量重新賦值,當引用計數減少到0時,python就會認為這塊內存存儲的數據已經沒用了,於是就會將內存清空。
python基礎之變量