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