當前位置:首頁 » 編程語言 » python不可變

python不可變

發布時間: 2023-08-10 20:05:01

python中變數的引用、可變和不可變類型、局部變數和全局變數

變數的引用

變數和數據都是保存在內存中的

變數和數據是分開存儲

數據保存在內存中某個位置,通過地址來標記

變數保存的是數據的地址,通過地址可以找到數據在內存空間的位置

把變數保存數據地址的過程稱為引用


變數的重新賦值修改的是變數中引用數據的內存地址

變數之間的賦值實際是引用的傳遞

函數參數的傳遞,本質也是引用的傳遞

函數的返回值本身也是引用的傳遞


可變和不可變類型

不可變類型,內存中的數據不允許被修改:數字類型(int,bool,float,complex,long(2,x)、字元串、元組(tuple)

可變類型,內存中的數據可以被修改:列表list、字典dict

無論是可變還是不可變數據類型,通過賦值語句,都會改變變數的引用


Hash函數只能接收不可變數據類型,字典的鍵也只能是不可變數據類型,字典的value值可以是任意數據類型


局部變數

1.在函數內部定義的變數就是局部變數(作用范圍只能是當前函數內部)

2.在函數外部無法直接訪問局部變數

3.不同的函數中可以定義同名的局部變數

4.局部變數的生命周期:從定義變數時開始,到函數運行結束

全局變數

1.在所有函數外邊定義的變數就是全局變數

2.讓所有函數都能訪問到,可以作為函數通信的橋梁

3.一般情況下,為了和普通變數的區別,需要加上g_或gl_前綴

4.全局變數一般放在所有函數的最上面

5.在函數內部修改全局變數,必須要加上global關鍵字,如果不加global只是定義了一個同名的局部變數


函數的多個返回值

㈡ Python怎麼要求保持輸入數據類型不變

可以使用Python內置的abs()函數來求一個數的絕對值,但是abs()函數的返回結果是一個浮點數,因此需要對結果進行類型轉換。可以使用type()函數來獲取神森輸入數據的類型,然後根據類型進行類型轉換。
以下是示例代碼:
n = input("請輸入一個數字:")
n_type = type(n)
n = abs(float(n)) if n_type == str else abs(n)
n = n_type(n) # 恢復原來的類型
print("該數字的絕對值為:", n)
代碼中首先使用input()函游頌畝數獲取輸入數字,並使用type()函數獲取輸入數字的類型。然後根據輸入數字的類型,使用float()函數或者直接對輸入數字進行abs()函數計算。最後,將計算結果轉換回原來的類型並輸出。注意,在輸入數字為字元串時,需要先使用float()函數將其轉換為浮點數再進行計櫻冊算。

㈢ python如何賦值後讓變數保持不變

python中字典和列表都是可變類型,直接通過賦值的方式(也就是淺拷貝),只是創建了新的對象,但實際還是引用了同一個地址,要想修改d而不對dic產生影響,使用深拷貝的方式:

import

d = .deep(dic)

㈣ python中字元串數據類型是不可變數據類型

python中不可變數據類型和可變數據類型
在學習python過程中我們一定會遇到不可變數據類型和可變數據類型。

1.名詞解釋


不可變數據類型: 當該數據類型的對應變數的值發生了改變,那麼它對應的內存地址也會發生改變,對於這種數據類型,就稱不可變數據類型。

可變數據類型    :當該數據類型的對應變數的值發生了改變,那麼它對應的內存地址不發生改變,對於這種數據類型,就稱可變數據類型。

   總結:不可變數據類型更改後地址發生改變,可變數據類型更改地址不發生改變

㈤ 自動化測試時需要使用python,請問如何理解python中的可變和不可變數據類型

什麼叫不可變類型?
所謂不可變數據類型,就是說,內存中的數據一旦定義就不能修改,如果要修改只能在內存中開辟新的空間,這種數據類型就是不可變數據類型。不可變數據類型在python中是主流,比如整數,浮點數,布爾型,字元串,元組等都屬於不可變數據類型。
什麼叫可變數據類型?
所謂可變數據類型,簡單來說就是內存中的數據可以被直接修改,而無需開辟新的空間,在python中,可變數據類型只有兩種,那就是列表和字典【除了這兩種外,其他數據類型都是不可變數據類型】
注意:不管是什麼數據類型,只要是重新賦值,數據都需要開辟新的內存空間
傳智播客官網上就有這些免費視頻可以看,這些知識點傳智播客都系統梳理了,跟著他們免費課程來就行。

熱點內容
開源庫編譯管理員 發布:2025-02-06 09:39:14 瀏覽:914
臉書怎麼注冊安卓 發布:2025-02-06 09:36:47 瀏覽:381
車用安卓導航無線打不開什麼原因 發布:2025-02-06 09:27:50 瀏覽:790
安卓與蘋果如何互相傳送文件 發布:2025-02-06 09:27:40 瀏覽:26
華為伺服器盤符如何分配 發布:2025-02-06 09:26:41 瀏覽:560
傳奇h5源碼下載 發布:2025-02-06 09:26:06 瀏覽:78
編譯uclibc 發布:2025-02-06 09:09:04 瀏覽:152
用gcc編譯16位匯編 發布:2025-02-06 09:06:07 瀏覽:823
什麼低端安卓手機不卡 發布:2025-02-06 09:03:32 瀏覽:14
我的世界伺服器卡領地 發布:2025-02-06 08:50:45 瀏覽:256