① python中所有變數和常量都是有所屬類型的嗎
在 Python 中,數據類型是動態的,這意味著變數的數據類型可以在運行時改變。因此,在 Python 中,不是所有變數和常量都有所屬類型。
Python中的變數不需要事先聲明變數類型,可以直接使用等號進行賦值。
例如:a = 42b = "Hello World"
變數 a 是一個整數類型的變數,變數 b 是一個字元串類型的變數。
常量的概念與變數不同,常量指被程序預定義的值,在 Python 中常常使用常量來代替某些常用的固定值或者比較難計算的值。Python沒飢襲有直接定義常量的關鍵字,可以通過大寫的方式來爛伍兄表示常量。
例如:PI = 3.14
在 Python 中,這個 PI 變數是一個常量,一橘森般情況下值不會發生改變。但事實上,Python並沒有對這個變數做出保護,還是可以通過程序去改變它的值。
總之,在 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中6種數據類型
Python中的變數不需要聲明。每個變數在使用前都必須賦值,變數賦值以後該敬知變數才會被創建。
Python3中有六個標準的數據亮鉛消類型:Number(數字)+String(字元串)+List(列表)+Tuple(元組)+Sets(集合)+Dictionary(字典)。
Number(數字)數字類型是顧名思義是用來存儲數值的,需要記住的是,有點和Java的字元串味道差不多,如果改變了數字數據類型的值,將重新分配內存空間。
可以使用del語句刪除一些數字對象的引用delvar1[,var2[,var3[....,varN]]]]。Python支持三種不同的數值類型:
1.整型(Int)-通常被稱為是整型或整數,是正或負整數,不帶小數點。
Python3整型是沒有限制大小的,可以當作Long類型使用,所以Python3沒有Python2的Long類型。
2.浮點型(float)-浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2=2.5x102=250)
3.復((complex))-復數由實數部分和虛數部分構成,可以用a+bj,或complex(a,b)表示,復數的實部a和虛部b都是浮點型。數字類型轉換1.int(x)將x轉換為一個整數。
4.complex(x,y)將x和y轉換到一個復數,實數部分為x,虛數部分為y。x和y是數字表達式。激好