Python學習筆記(一) 資料型別
資料型別
本來以為資料型別是最最簡單的知識,可是發現網上說法比較亂,我就用java的思維去理解吧。╮(╯▽╰)╭
一.基本資料型別
1.Numbers(數字)
- 整數
- 浮點數
- 複數
2.String(字串)
字串可以單引號如‘abc’或者雙引號“abc”,轉譯字元是\
和Java一樣,說String型別是不可變的,這個很重要
a = "hello"
b = " world"
print("a + b = {}".format(a + b))
#print("a + 2 = {}".format(a + 2))#這個會報TypeError: Can't convert 'int' object to str implicitly
print("a * 2 = {}".format(a * 2))
print("a[0] = {}".format(a[0]))
print("a[-1] = {}".format(a[-1]))
print("a[1:3] = {}".format(a[1:3]))
print("'a' in a = {}".format('a' in a))
print("'h' in a = {}".format('h' in a))
print("'he' in a = {}".format('he' in a))
a + b = hello world
a * 2 = hellohello
a[0] = h
a[-1] = o
a[1:3] = el
'a' in a = False
'h' in a = True
'he' in a = True
3.bool(布林值)
一個布林值只有True、False兩種值,要麼是True,要麼是False(請注意大小寫)
其他型別值轉換 bool 值時除了 ”、”“、”””、”“”“”“、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False 為 False 外,其他都為 True 。
bool(-1) #返回True
bool('') #返回False
在數值上下文環境中,True 被當作 1,False 被當作 0
Ture + 3 #4
False + 3 #3
布林值可以用and、or和not運算。
yes = True
no = False
print("yes and no is {}".format(yes and no))
print("yes or no is {}".format(yes or no))
print("not no is {}".format(not no))
執行結果如下
yes and no is False
yes or no is True
not no is True
4.None(空值)
空值是Python裡一個特殊的值,用None表示。
二.集合資料型別
其實也不能叫集合資料型別,Python說的集合是set型別。哎,反正就這麼理解吧。╮(╯▽╰)╭
1.List(可變有序)
list是有序的集合,這個和java的list很像,是有序的。它居然用中括號[ ],是不是很像陣列
names = ["鼕鼕", "pigg", "米可"]
list的索引是從0開始的,names[0]就是”鼕鼕”了。
神奇的是,索引可以是負數,-1指的是倒數一個元素,names[-1]就是”米可”,names[-3]就是”鼕鼕”。
當然索引不可以越界,否則有異常。
names = ["鼕鼕", "pigg", "米可"]
#用len()獲取長度
print("list長度是{}".format(len(names)))
#插入元素
names.insert(2, "天使")
print("插入元素, 最新list內容如下:")
print(names)
#在後面新增元素
names.append("藍波")
print("\n在後面新增元素,最新list內容如下:")
print(names)
#刪除末尾元素
names.pop()
print("\n刪除末尾元素,最新list內容如下:")
print(names)
執行結果如下:
list長度是3
插入元素, 最新list內容如下:
['鼕鼕', 'pigg', '天使', '米可']
在後面新增元素,最新list內容如下:
['鼕鼕', 'pigg', '天使', '米可', '藍波']
刪除末尾元素,最新list內容如下:
['鼕鼕', 'pigg', '天使', '米可']
2.tuple(不可變有序)
tuple叫元組,是不可變的,所以沒有append(),insert(),pop()這些方法。
tuple的不可變是指每個元素的指向不可變,如果某個元素指向一個list,而這個list的值變了,是可以的。
names = ('A', 'B', ['C', 'D'])
names[2][0] = 'X'
names[2][1] = 'Y'
print(names)
執行結果如下:
('A', 'B', ['X', 'Y'])
3.dict(字典)
dict比較像java裡的map,使用鍵-值(key-value)儲存
和list比較,dict有以下幾個特點:
- 查詢和插入的速度極快,不會隨著key的增加而變慢;
- 需要佔用大量的記憶體,記憶體浪費多。
而list相反:
- 查詢和插入的時間隨著元素的增加而增加;
- 佔用空間小,浪費記憶體很少。
ageDic = {"張三": 10, "李四": 29, "王五": 36}
print("ageDic['王五']={}".format(ageDic['王五']))
print("ageDic.get('王五')={}".format(ageDic.get('王五')))
ageDic['王五'] = 29
print("修改後,ageDic['王五']={}".format(ageDic['王五']))
ifExist = '王八' in ageDic
print("王八在字典裡?{}".format(ifExist))
ageDic.pop('王五')
print("刪除王五後字典={}".format(ageDic))
執行結果如下:
ageDic['王五']=36
ageDic.get('王五')=36
修改後,ageDic['王五']=29
王八在字典裡?False
刪除王五後字典={'李四': 29, '張三': 10}
4.set(不重複且無序)
Python的set和java的set很類似,是一組不能重複的key
#要建立一個set,需要提供一個list作為輸入集合
#復元素在set中自動被過濾
s = set([1, 2, 3, 3])
print(s)
#通過add(key)方法可以新增元素到set中,可以重複新增,但不會有效果
s.add(1)
s.add(4)
print(s)
#通過remove(key)方法可以刪除元素
s.remove(4)
#兩個set可以做數學意義上的交集、並集等操作
s2 = set([2, 3, 4])
print("s & s2 = {}".format(s & s2))
print("s | s2 = {}".format(s | s2))
執行結果如下:
{1, 2, 3}
{1, 2, 3, 4}
s & s2 = {2, 3}
s | s2 = {1, 2, 3, 4}
相關文章
- Python 學習筆記——資料型別Python筆記資料型別
- Python學習筆記(二)——資料型別Python筆記資料型別
- Python 3 學習筆記之——資料型別Python筆記資料型別
- Python學習筆記2:基本資料型別Python筆記資料型別
- MySQL學習筆記--資料型別MySql筆記資料型別
- JavaScript學習筆記---資料型別JavaScript筆記資料型別
- hive學習筆記之一:基本資料型別Hive筆記資料型別
- python學習筆記1—python的基本資料型別Python筆記資料型別
- MySQL學習筆記12:資料型別MySql筆記資料型別
- Redis學習筆記(二)——Redis資料型別Redis筆記資料型別
- redis學習筆記2: Redis資料型別Redis筆記資料型別
- Java學習筆記8-資料型別Java筆記資料型別
- TypeScript學習筆記(一)環境搭建和資料型別TypeScript筆記資料型別
- python筆記--資料型別Python筆記資料型別
- Python3學習筆記1,基本資料型別-Number、strPython筆記資料型別
- TS學習筆記(一):基本型別筆記型別
- OpenCV學習筆記(3)——Scalar資料型別理解OpenCV筆記資料型別
- JavaScript學習筆記 - 3.基本資料型別JavaScript筆記資料型別
- Hive學習筆記 2 Hive的資料型別Hive筆記資料型別
- MySQL學習筆記之資料型別詳解MySql筆記資料型別
- [python學習手冊-筆記]002.python核心資料型別Python筆記資料型別
- Python學習筆記6——動態型別Python筆記型別
- Redis學習筆記 – 資料型別與API(1)KeyRedis筆記資料型別API
- Python學習日記-資料型別和變數Python資料型別變數
- Python學習之資料型別Python資料型別
- Python3學習筆記2,基本資料型別-list、tuple、set、dictPython筆記資料型別
- TypeScript學習(一)—— 資料型別TypeScript資料型別
- Python學習筆記 String型別常用方法Python筆記型別
- 資料型別 - Go 學習記錄資料型別Go
- Java個人學習筆記-資料型別及取值範圍Java筆記資料型別
- SAP UI5 資料型別(data type) 學習筆記UI資料型別筆記
- Go型別特性-學習筆記Go型別筆記
- Python學習教程:基本資料型別Python資料型別
- Python學習 —— 內建資料型別Python資料型別
- python筆記-資料型別&檔案操作Python筆記資料型別
- 初學Python(一)——資料型別Python資料型別
- python學習筆記:資料庫Python筆記資料庫
- Flutter學習筆記(3)--Dart變數與基本資料型別Flutter筆記Dart變數資料型別