在 Python 中,變量也稱爲對象的引用。因爲變量存儲的就是對象的地址。變量通過地址引用了“對象”。
變量位於棧內存(壓棧出棧等)。
對象位於堆內存。
Python 是動態類型語言,變量不需要顯式聲明類型。根據變量引用的對象,Python 解釋器自動確定數據類型。
Python 是強類型語言,每個對象都有數據類型,只支持該類型支持的操作。
變量在使用前必須先進行初始化,也就是將變量綁定在一個對象上,格式如:變量名 = 表達式。執行過程中,解釋器先運行右邊的表達式,在堆內存中創建一個對象,然後將對象的內存地址賦給左邊的變量,如上圖所示。變量如果不初始化,會報“name is not defined”錯誤。
關於變量的賦值,常用鏈式賦值和系列解包賦值方式。鏈式賦值用於同一個對象賦值給多個變量。如x=y=123 相當於:x=123; y=123。系列數據賦值給對應相同個數的變量(個數必須保持一致),如a,b,c=4,5,6 相當於:a=4;b=5;c=6。
python中,刪除一個變量的方法是del。變量從棧內存中刪除後,其綁定的對象並沒有從堆內存中立刻刪除,對象沒有了變量引用,會被垃圾回收器回收,釋放內存,以節約內存空間。