尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
Python的六個標準數據類型中不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組)。
內置的 type 函數可以用來查詢變量所指的對象類型。
定義變量
變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以後該變量才會被創建。等號(=)用來給變量賦值。等號(=)左邊是一個變量名,等號(=)右邊是存儲在變量中的值。
- 變量名 = 變量值
定義變量的幾種情況:
一個變量一行:推薦用這種,不容易搞混。
多個變量賦值相同:
多個變量賦值不同:注意變量有幾個,右邊的值就要幾個,不要少,注意逗號隔開。
Number(數字):
Python3 支持int、float、bool、complex。在Python 3里,只有一種整數類型 int,表示為長整型,沒有 python2 中的 Long。
- int:整數,包括負整數。
- float:浮點數也就是小數。
- bool
- :只有
- True
- 、
- False
- 兩種值,在Python中,可以直接用
- True
- 、
- False
- 表示布爾值(請注意大小寫),True可以轉換數字1,
- False可以轉換數字0。
- complex:復數x被定義為二元有序實數對(a,b) ,記為z=a+bi,這里a和b是實數,i是虛數單位。
print列印多個值,用逗號隔開。
用type 函數輸出結果:列印結果對應數字的四種類型。
String(字符串):
Python中的字符串用單引號或雙引號括起來。建議如果字符串里面有單引號最外面用雙引號,字符串里面有雙引號用單引號。如果都是用單引號或者雙引號,字符串里面有單引號、雙引號或者特殊字符需要用\反斜杠轉義。
變量a和b就原樣輸出,變量c和d輸出結果為:
變量c輸出結果換行了,它里面\n換行符,而變量d輸出結果沒有換行,還多出\n。\\n把\n轉義成不是特殊字符。
多行註釋都知道用左右兩邊各三個單引號或者雙引號。如果用一個變量接受這樣的註釋會是怎麼樣,並列印。
輸出結果:
如果沒有賦值變量,它就是單純多行註釋,如果賦值變量,它就變成一個字符串。
字符串截取:變量[頭下標:尾下標]
索引值以 0 為開始值,-1 為從末尾的開始位置。把字符串看做一棟樓,因為python是外國人開發的語言,外國樓層都是從0層開始,所以索引從0開始。很多編程語言都是外國人開發,所以其他語言的索引也是0開始。
定義一個字符串:str = ‘python’
索引說明:
操作字符串:
輸出結果:
字符串相加:用加號可以拼接兩個字符串成為一個。
字符串想乘:字符串乘以整數3,變成python復制3份。
三種字符串格式化方法:
輸出結果:推薦使用第三種format格式化字符串。
注意:
- 1、反斜杠可以用來轉義。
- 2、字符串可以用+運算符連接在一起,用*運算符重復。
- 3、字符串有兩種索引方式,從左往右以0開始,從右往左以-1開始。
- 4、字符串不能改變。
Tuple(元組)
元組的元素一旦初始化就不能修改,元組寫在小括號里,元素之間用逗號隔開。構造包含 0 個或 1 個元素的元組比較特殊,所以有一些額外的語法規則。
- tup1 = # 空元組
- tup2 = (1,) # 一個元素,需要在元素後添加逗號
輸出結果:
元組元素也可以有字符串等其他數據類型,為了方便直接全部用數字。字符串和元組獲取元素都是一樣的。
注意:
- 1、與字符串一樣,元組的元素不能修改。
- 2、元組與字符串一樣也可以被索引取值。
- 3、注意構造包含0或1個元素的元組的特殊語法規則。
- 4、元組也可以使用+操作符進行拼接。
不可變數據指初始化不可以改變里面的值,如果重新賦值,則後面就會覆蓋前面的。
內置的id函數的返回值就是對象的內存地址。
內存地址是什麼?
我有一台電腦內存16G,你有一台電腦內存4G。我的電腦打開10個軟件還運行順暢,你的電腦打開5個軟件就卡的動不了。每打開一個軟件,都會去調用內存,每個軟件就分配一個內存地址。每個內存地址也會分配內存空間的,內存大打開10個軟件占用內存10G,還有6G。但是內存小,打開5個軟件占用內存5G,你的電腦本來才4G,不夠分。
python當該數據類型的對應變量的值發生了改變,那麼它對應的內存地址也會發生改變,對於這種數據類型,就稱不可變數據類型。
定義變量num值為10,列印內存地址。然後在定義變量num值為20,再列印內存地址。
兩次結果不同:
有人會有疑問,變量不是一樣嗎?如果其他語言可能是為變量num分配內存地址,但是python它是為值分配內存地址的。
程序從上往下執行,後面變量會覆蓋前面變量。
字符串和元組也是一樣的,也定義相同變量不同的值用id函數列印。
你去年買了一套3房2廳的房子,你今年把房子賣掉。今年之前房產證寫你的名字,今年房產證寫別人的名字了,房子的擁有權發生變化了。
數字、字符串、元組的值不可以修改,但是可以覆蓋。覆蓋,內存地址也跟著變化。