变量 常量 Python变量内存管理 赋值方式 注释
目錄
- 變量
- 1.什么是變量
- 2.為什么有變量?
- 3.定義變量
- 4.變量的組成
- 5.變量名的命名規范
- 6變量名的兩種風格
- 常量
- Python變量內存管理
- 1.變量存哪兒?
- 2.Python垃圾回收機制
- 2.1 引用計數
- 3.小整數池
- 變量的三個特征
- 花里胡哨賦值
- 1.鏈式賦值
- 2.交叉賦值
- 注釋
變量
1.什么是變量
變量從字面意思可以理解成:是變化的量。但是這樣理解和沒有理解貌似沒有什么區別,我們把變量兩個字拆分看看。
我們首先來想想看你是怎么認識我的,今天來你會認識我,明天來你還會認識我。那你是不是記住我這個人的典型特征,比如我的名字Nick、體重140、身高180…世間萬物我們是不是都是這樣去認識的?毫無疑問是的。既然人能識別世間萬物,那么我們之前一直把計算機想象成人,那是不是說計算機也能識別世間萬物呢?對的。計算機通過記錄我們的狀態認識我。這就是量的概念。
- 量:記錄現實世界中的狀態,讓計算機能夠像人一樣去識別世間萬物。
今天我可能180,明年我是不是可能就是185了(5cm不過分),那這種狀態是不是會發生變化。
- 變:現實世界中的狀態是會發生改變的。
2.為什么有變量?
對于現實世界,一定是要有一個變量來描述世間萬物的。但是計算機為什么也要有變量的概念呢?其實計算機中程序的運行就是一系列狀態的變化,如王者榮耀中賬號等級0級到30級、廢鐵到王者;植物大戰僵尸中僵尸打著打著就死了。
3.定義變量
就是按照一定的格式賦值,具體格式就是下面對的變量組成的格式。(個人理解)
4.變量的組成
從我們上米昂定義的變量可以看到,變量的組成分為以下三個部分:
5.變量名的命名規范
一定要記住,定義一個變量其實就是在記錄現實世界中的的狀態,并且存永遠不是目的,取才是目的。所以變量的命名應該滿足以下三個規范:
6變量名的兩種風格
駝峰體
下劃線
常量
變量是變化的量,常量則是不變的量。python中沒有使用語法強制定義常量,也就是說,python中定義常量本質上就是變量。如果非要定義常量,變量名必須全大寫。
如果是常量,那就沒必要更改,所以python就只制定了一個規范,而沒指定常量的語法,==因此常量也是可以修改的,但不建議。==
Python變量內存管理
1.變量存哪兒?
x = 10當我們在p1.py中定義一個變量x = 10,那么計算機把這個變量值10存放在哪里呢了?我們回顧計算機的三大核心組件為:CPU、內存和硬盤。一定不是CPU,那是存放在內存還是硬盤中了呢?我們再回顧變量運行的三個過程,如果我們沒有使用python解釋器運行p1.py這個文件,那么x=10很明顯只是很普通的四個字符x、=、1、0。而只有Python解釋器運行了這個文件,那字符進入了內存,才會有變量這個概念。也就是說變量是存放在內存當中的。
變量存放在內存中這句話太寬泛了,我們把它具體化。現在想象我們在學校(電腦內存)里上課,學校每開一個班,學校都會開辟一個教室給這個班級上課用(存放變量值10),而班級的門牌號則是(變量名x)。也就是說,對于電腦內存這個大內存,每定義一個變量就會在這個大內存中開辟一個小空間,小空間內存放變量值10,然后內存給這個小空間一個變量名x(門牌號),x指向10。
2.Python垃圾回收機制
2.1 引用計數
從上述的解釋我們可以知道只要某個變量值綁定著門牌號,就不是垃圾,反之變量值沒有綁定著門牌號,這個變量值就是垃圾,python就會自動清理這個垃圾。這里我們對于這個門牌號給定一個專業的解釋,在python中這個門牌號被稱作引用計數。
x = 10 # 10引用計數加1為1 y = x # 10引用計數加1為2 x = 11 # 10引用計數減1為1;11引用計數加1為1 del y # 10引用計數減1為0,觸發python垃圾回收機制,python清理10的內存占用上述代碼就是一個引用計數加減的過程。
3.小整數池
在pycharm中運行python程序時,pycharm出于對性能的考慮,會擴大小整數池的范圍,其他的字符串等不可變類型也都包含在內一便采用相同的方式處理了,我們只需要記住這是一種優化機制,至于范圍到底多大,無需細究。
變量的三個特征
打印 :==print==
判斷變量值是否相等:==name1 == name2==
判斷變量id是否相等:==整數池范圍內的返回值都是True,但是不在的如果是一個一個賦值的返回的是False,如下:==
x = 257 z = 257print(x is z) # False花里胡哨賦值
1.鏈式賦值
a = 10 b = 10 c = 10 d = 10 #可以寫為 a = b = c = d = 10 #輸出結果一樣2.交叉賦值
a = 10 b = 100#可以寫為 a , b = 10,100 #輸出結果一樣注釋
就是方便你看的和別人看的 ,核心就是==#==
轉載于:https://www.cnblogs.com/xiongchao0823/p/11264512.html
總結
以上是生活随笔為你收集整理的变量 常量 Python变量内存管理 赋值方式 注释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019-7-29 考试总结
- 下一篇: Microsoft .NET Pet S