欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python的變量與賦值詳細分析

 更新時間:2017年11月08日 09:22:38   作者:ZHANGONE  
這篇文章主要介紹了python的變量與賦值詳細分析,具有一定參考價值,需要的朋友可以了解下。

python的變量與賦值

1.變量的命名規(guī)則

變量其實通過一個標記調(diào)用內(nèi)存中的值,而變量名就是這個標記的名稱,但是萬一這個標記已經(jīng)被提前占用或者解釋器認為這個標記是不合法的,那么就會報錯。下面總結(jié)了一下變量的命名規(guī)則:

1.不能使用python的關(guān)鍵字,也就是說標記不能被提前占用,python的關(guān)鍵字包括:
['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']
2.變量名的第一個字符不能是數(shù)字,這樣的命名被認為是不合法的。
3.變量名只能是字母、數(shù)字或下劃線(_)的任意組合。

  規(guī)則就是規(guī)則,沒有什么好解釋的,但是我們可以在符合規(guī)則的前提下做進一步的要求,詳情請參照python的pep8編碼規(guī)范 

2.變量的賦值

在python中,我們對變量進行賦值的時候,用的是一個等于符號(=),要注意不是兩個(==)。

例如:

a = 10

這段代碼的動作就相當于:

注意:我們并不是為標記a建立了一個值,而是先建立一個值以后,再用一個標記去指向它。

   在知道了賦值是怎么進行的以后,我們再來看下面這個代碼:

a = 10
b = a
a = 20

那么,此時b=?
如果按照我們常用的數(shù)學(xué)思維的話,那么b肯定是等于20的,但這里卻不是這樣的,如果按照一般的思維的話,是下面這樣的:

如果按照這個邏輯的話,那么b肯定是等于20的,但這里是錯誤的,所以我畫了個叉。

因為變量是一個標記,用來調(diào)用內(nèi)存中的值,當我們將一個標記賦值給另一個標記的時候,應(yīng)該是讓其指向另一個標記的內(nèi)存,而不是指向標記。

按照這個原則,我們的思路應(yīng)該是這樣的:

也就是說此時b應(yīng)該等于10,下面我們來試驗一下是否正確:

驗證正確,這個思路沒有問題。

3.python中的垃圾回收機制

這個時候我們可能會有疑問,如果是下面這種情況會怎么樣:

a = 10
a = 20

按照我們之前建立的思維,a已經(jīng)指向了20了,那么剩下的那個10會怎么樣?

這就要說起python中的垃圾回收機制了,python會按一定的規(guī)則回收內(nèi)存中的垃圾數(shù)據(jù)以釋放內(nèi)存空間。

Python內(nèi)存回收的基石是引用計數(shù),“當一個對象的引用被創(chuàng)建或復(fù)制時,對象的引用計數(shù)加1;當一個對象的引用被銷毀時,對象的引用計數(shù)減1”,如果對象的引用計數(shù)減少為0,將對象的所占用的內(nèi)存釋放。

python通過引用計數(shù),將引用次數(shù)為0的數(shù)據(jù)從內(nèi)存中清除,具體的回收時機不太清楚,可能是每隔一段時間回收一次。

簡單的垃圾回收這這樣的,但垃圾回收的機制遠比這要復(fù)雜許多,因為有時候會出現(xiàn)循環(huán)引用的情況,這種時候,單純清除0次引用的還是不夠的,所以此時還有其他的算法來回收。

總結(jié)

以上就是本文關(guān)于python的變量與賦值詳細分析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:python好玩的項目—色情圖片識別代碼分享、Python實現(xiàn)一個簡單的驗證碼程序、Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運算式等,有什么問題可以隨時留言,小編會及時回復(fù)大家的。感謝朋友們對本站的支持!

相關(guān)文章

  • Python編程深度學(xué)習(xí)計算庫之numpy

    Python編程深度學(xué)習(xí)計算庫之numpy

    今天小編就為大家分享一篇關(guān)于Python編程深度學(xué)習(xí)計算庫之numpy,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • python如何從鍵盤獲取輸入實例

    python如何從鍵盤獲取輸入實例

    在本篇內(nèi)容中小編給各位整理的是關(guān)于python怎么從鍵盤獲取輸入的實例內(nèi)容,需要的朋友們可以參考下。
    2020-06-06
  • python 文件常用操作demo(讀寫 打開方式)

    python 文件常用操作demo(讀寫 打開方式)

    這篇文章主要為大家介紹了python 文件常用操作demo(讀寫 打開方式)及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python tkinter三種布局實例詳解

    Python tkinter三種布局實例詳解

    這篇文章主要介紹了Python tkinter三種布局實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Python學(xué)習(xí)筆記之迭代器和生成器用法實例詳解

    Python學(xué)習(xí)筆記之迭代器和生成器用法實例詳解

    這篇文章主要介紹了Python學(xué)習(xí)筆記之迭代器和生成器用法,結(jié)合實例形式詳細分析了Python迭代器與生成器的功能、原理、定義及使用方法,需要的朋友可以參考下
    2019-08-08
  • Python實現(xiàn)正則表達式匹配任意的郵箱方法

    Python實現(xiàn)正則表達式匹配任意的郵箱方法

    今天小編就為大家分享一篇Python實現(xiàn)正則表達式匹配任意的郵箱方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python中第三方庫pyecharts的使用詳解

    python中第三方庫pyecharts的使用詳解

    這篇文章主要介紹了python中第三方庫pyecharts的使用, pyecharts的作用是用來做數(shù)據(jù)圖表,本文給大家介紹了作圖的步驟及實例代碼,需要的朋友可以參考下
    2022-08-08
  • python被修飾的函數(shù)消失問題解決(基于wraps函數(shù))

    python被修飾的函數(shù)消失問題解決(基于wraps函數(shù))

    這篇文章主要介紹了python被修飾的函數(shù)消失問題解決(基于wraps函數(shù)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Pycharm制作搞怪彈窗的實現(xiàn)代碼

    Pycharm制作搞怪彈窗的實現(xiàn)代碼

    這篇文章主要介紹了Pycharm制作搞怪彈窗(聲音強制最大,屏幕亮度強制最亮,按鈕躲避,彈窗炸彈),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 基于Python編寫將文本轉(zhuǎn)換為語音的簡易應(yīng)用

    基于Python編寫將文本轉(zhuǎn)換為語音的簡易應(yīng)用

    這篇文章主要介紹了如何使用Python編寫一個簡單的應(yīng)用程序,將文本轉(zhuǎn)換為語音,文中的示例代碼講解詳細,感興趣的小伙伴可以動手嘗試一下
    2023-08-08

最新評論