python不可變
㈠ 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中,可變數據類型只有兩種,那就是列表和字典【除了這兩種外,其他數據類型都是不可變數據類型】
注意:不管是什麼數據類型,只要是重新賦值,數據都需要開辟新的內存空間
傳智播客官網上就有這些免費視頻可以看,這些知識點傳智播客都系統梳理了,跟著他們免費課程來就行。