思維導圖版Python3入門與進階(一)基本資料型別
前言
自己也是在摸打滾爬中在慢慢的學習python3這門語言,之前是java開發,到後來轉向python的學習,因為python語言對於資料處理方面還是異常強大。學習語言,自己的心得還是要多實踐,最好是先打好基礎,然後自己嘗試著拿來使用,變成自己的東西才是最重要的。話不多說,這個專題會把自己學習python3的筆記和心得分享給大家。與大家共勉。
Python的基本資料型別
進位制與進位制型別轉化
進位制
進位制10,2,8,16的表示:
0b 二進位制 0b10
0o 八進位制
0x 十六進位制
注:是零而不是O
進位制轉換
轉換成2進位制:
bin(10)
bin(0o)
bin(0x)
轉換成10進位制
int()
轉換成16進位制
hex()
轉換成8進位制
oct(0b111)
Number
Number 數字有4個子型別:
1. 整數:int //對比其他變成語言:short int long
2. 浮點數:float //對比其他語言 :單精度(float)、雙精度(double == )
可以使用type()函式來檢視型別
type(1) #整型
type(-1) #整型
type(2/2) == float #除法運算
type(2//2) == int #整除運算
注:除法運算過程中一定要注意上面的示例,不然會導致型別出錯
3. 布林型別: bool :(True False)
4. 複數: complex
bool特殊栗子詳解:
int(True)
int(False)
注:bool是數字型別的一種
bool(1)
bool(0)
注:因為是數字型別的一種,所以它規則是,非0表示真,0表示假
但是其實字串也可以表示真假
bool('abc') #True
bool('') #False
規則:非空為True, 空為False
除了字串,下面這些也可以表示真假
[1, 2, 3] #True
[] #False
{1, 2, 3} True {} False
注:規則為非空為True , None 為空 False
複數的表示:
36j #複數
字串
字串型別為str
type('hello') #str
如何表示 :有單引號,雙引號,三引號幾種方式
'hello'
"hello"
'''
hello
'''
怎樣判斷要使用哪種方式:
1. 如果要輸入單引號時 可以使用雙引號
"let's go"
2. 或者單引號之間可以夾雜雙引號
'he says "hello" !'
3. 或者可以直接使用轉義字元
'let\'t go'
三引號:建議每行字元79個
'''
可以多行輸入
多行
多行
'''
注意下面這個栗子:
輸入一個格式,在顯示的時候會表示這些格式\t \n等
使用print(''' ''')會執行字串的轉義字元
注:這是IDLE的一些特性,注意區分''' '''輸出的不同
如果想在IDLE中實現換行操作:
hello\
world
注: 單引號和雙引號的換行可以通過這樣的機制進行,這樣的好處是避免程式碼太長不便閱讀
轉義字元
定義:特殊的字元
1)無法看到的字元 #回車 換行 製表符
2)語法衝突的符號
表示方式:
\t #製表符
\n #換行
\' # '
\r #回車
注意:\r回車 \n換行 不是同一個概念
一種特殊的格式:
print(r' ')
注:r'包含的字串' 不是一個普通字串,而是一個原始字串
看到了吧,原始字串可以使轉義字元失效
r R 都可以表示原始字串
注:r'let't go ' 是不可以的,因為裡面包含的就不是一個字串(中間被斷開了)
字串的合併和剔除操作
字串的運算
1. 合併和重複運算
"hello "+"world"
"hello" * 3
2. 取字元運算
"hello world"[0]
"hello world"[4] //序號
"hello world"[-1] //從末尾往前數,取倒數第一個
3. 取字串片段
"hello world"[0:4] #取前四個字元
"hello world"[0:5] #到要擷取的位置的下一個位置,即取前五個字元
注: 序號從0開始
從後到擷取n個字元
步長 "hello world"[0:-1]
[6:] 擷取到末尾
[:-4] 擷取掉後4個
[-4:0] 取後4個元素
list列表
概念
用來表示組的概念
[1,2,3,4,5,6]
列表[1,2,3,4,5,6] ,是list型別
注:其中的數字可以替換成各種型別,甚至還可以巢狀列表
[1,2,[1,2,3,4],4,5,6]
訪問列表中的某個元素
["","","",""][0]
["","","",""][1]
["","","",""][0:2] //取出的也是一個列表
["","","",""][-1:]
注:類似字串操作
列表的操作
列表合併使用 +
列表*3 數字重複3次
沒有減法操作
[[],[],[],[]] 分組
tuple元組
定義:表示組概念的元組
表示:
(1,2,3,4,5)
也可以存放不同的元素,類似List
對元組的操作:
(1,2,3,4,5)[0]
(1,2,3,4,5)[0:2]
(1,2,3) + (4,5,6)
(1,2,3)*3
和int str list一樣,元組也有自己的標識:
tuple #元組
type((1,2,3))
特殊栗子:
type((1)) #int
type(('hello')) #str
注:這樣表示元組的話,可能會與()運算進行衝突
所以為了解決衝突,()硬性規定為運算
規定:(1,) 表示一個元素的元組
() 表示一個空的元組
list不存在這樣的問題,如
type([1]) #是一個list
序列
序列:也稱為組
str list tuple 都是序列
因為它們有共有的操作
'hello'[2]
[1,2,3,4][2]
(1,2,3,4)[2]
注:原因是每個元素都會分配一個序號和順序
因此它們還有一些共有的操作:
切片 [0:3]
[-1:]
[0:8:2]
加 +
乘 *
一些基本的操作
1. 判斷元素是否在序列中
3 in [1,2,3,4,5,6] #是一個bool型別的
3 not in [1,2,3,4,5,6]
2.判斷序列的長度
len([1,2,3,4,5,6])
3.返回最大值、最小值
max([1,2,3,4,5,6])
min()
注:字串間也有大小的操作
檢視字元編碼:
ord('d')
ord(' ')
集合 set
特點:無序
表示:{元素, 元素}
type({1,2,3,4,5,6})
基本操作:
len()
1 in {1,2,3,4,5,6}
1 not in {1,2,3,4,5,6}
差集
#剔除元素的操作 可以使用減法的操作
{1,2,3,4,5,6} - {1,2,3}
交集
{1,2,3,4,5,6} & {3,4}
並集
{1,2,3,4,5,6} | {3,4,7}
特殊栗子
type({}) #dict
注:因為空dict的表示方法也是{}, 所以為了避免衝突有了下面的定義
set() #定義空的集合
type(set()) #set
字典 dict
定義:類似生活中的字典,用key:value對的方式儲存
表示:
{key1:value1,key2:value2...}
注:也是無序的,不是序列
訪問方式:
{key1:value1,key2:value2...}['key']
需要注意的要點:
1. 字典裡是不能有重複的key的,因為會被後面的覆蓋掉
2. 字典的鍵(key)不一定只能有str,也能有int
int 和 str是不一樣的key
3. value沒有型別限制
但是key不可以是任意型別,必須是不可變的型別
所以列表不可以作為key,元組是可以的
空的字典可以直接使用{}表示
type({}) #dict
總結python3基本資料型別
要點:
1. str和元組是不可變,屬於不可變型別
2. 數字(number) 型別包含: int float bool complex(複數)
3. 組 序列list 集合set 字典dict