python3怎麼賦值 python3中賦值問題?

2021-10-13 11:24:07 字數 657 閱讀 5400

我閒著沒事乾來詳細回答一波。

phthon的物件實際儲存在記憶體上,而變數名對應了乙個位址,位址指向了那一塊記憶體。

在第一例中,python在記憶體中開出了一片用來儲存int值1,然後將它的位址賦值給a,接下來a把位址賦值給b。此時a,b指向同乙個int值物件。後來b+=1的操作做的是先計算b+1,計算結果為2,重新開闢了一塊記憶體來儲存,然後將位址賦值給b。此時a,b指向了不同的記憶體區域,一塊儲存了1,一塊儲存了2。

第二例,記憶體中先開闢了很多地方分別用來儲存字典。字典裡的key相當於乙個變數的作用,它儲存了乙個位址,這個位址指向了它對應的value。當字典建立完成後,字典本身所在的位址被賦值給a。然後a儲存的位址被賦值給b。此時a,b儲存的位址指向同乙個字典。後來你通過b修改字典的時候,python沒有新建乙個字典,它只是在原有字典的基礎上新增了乙個key,然後這個key儲存了乙個位址,指向新的value。此時a,b指向的還是同乙個字典。因此你再看a,a也被改了。

這兩者的區別在於,乙個新的int值被建立會新開闢一塊記憶體來儲存新物件,而字典被修改時,是在原有字典的基礎上修改的。

如何區分這兩者?一般來說,基礎型別是不可變的,當乙個新的物件需要建立時,就會開闢新的記憶體位置,而不修改原來的資料。基礎型別包括數字,字串等。而容器型別都是可改的,比如list,set和dict,對他們的操作一般都是在原有的物件上做修改。

Mac上同時安裝python3和python2

系統 mac 已安裝環境 anaconda3,python3 由於在平時的專案中,經常由於各種python庫的版本不匹配的問題,導致python2和python3的執行環境無法相容。因此我們可以在上述已安裝環境的基礎上,再安裝python2。具體步驟非常簡單,參考下面。先檢查當前環境為python3...

win10上安裝python3和python2

摘自 做個記錄。python3.6安裝流程 選擇自定義安裝 直接next 為電腦上的所有使用者安裝 然後install就ok了!安裝完成之後,windows r 輸入 cmd 輸入 python v 來檢視版本。如果你只想安裝python3的話,看到這裡就可以了。到這python3.6就安裝完成了!...

python3 輸入數字 python怎麼輸入數字

在程式設計中,經常使用數字來記錄遊戲得分 表示視覺化資料 儲存web應用資訊等。python根據數字的用法以不同的方式處理它們。鑑於整數使用起來最簡單,下面就先來看看 python是如何管理它們的。今天我們來學習如何在python中輸入數字,及其中的三種數字型別!在python中,支援三種數字型別,...