本篇文章主要內容:數據類型的經常使用方法,條件語句,循環語句。html
在開始正篇以前咱們先來看看上一篇留下的題目。python
題目:git
定義一個字典a,有兩個鍵值對:一個鍵值對key是可樂,value是18;另外一個鍵值對key是python,value是列表形式的1,2,3,4,5。app
答案:函數
a = { "可樂": "18", "python": [1,2,3,4,5] }
1、字符串的經常使用方法學習
1.1 拼接優化
示例1(經常使用):編碼
a = "可樂" b = "愛python" c = a + b print(c) ------------------------------------------------------------------- 輸出 ---> 可樂愛python
注意:若是是str和number則須要對number轉換,經過str(number)轉換。
3d
示例2(極少使用):code
a = "可樂" "愛python" print(a) ------------------------------------------------------------------- 輸出 ---> 可樂愛python
1.2 切片(截取)
用法靈活,須要對上一篇的索引已有深入的理解。
語法:
string[start : end : step]
注意:左開右閉
示例1:截取python
a = "可樂愛python" b = a[3:] print(b) ------------------------------------------------------------------- 輸出 ---> python
示例2: 截取可愛yhn
a = "可樂愛python" b = a[::2] # 或者 b = a[0::2] print(b) ------------------------------------------------------------------- 輸出 ---> 可愛yhn
1.3 獲取字符串長度
獲取字符串長度因爲比較少用,可樂就不寫了,須要瞭解的能夠私聊。
語法:
len(string)
示例:
a = "可樂愛python" b = len(a) print(b) ------------------------------------------------------------------- 輸出 ---> 9
1.4 分割字符串
經過split分割字符串,經常使用於將字符串轉換成列表。
語法:
str.split(sep,maxsplit)
str.rsplit(sep,maxsplit)
- sep:分割符,默認爲None。
- maxsplit:最大分割數,默認無限制。
- split:從左往右分割。
- rsplit:從右往左分割 。
須要深刻了解split,rsplit使用方法的,能夠看源代碼註釋,或者私聊可樂。
示例1:
a = "可樂,愛,python" b = a.split(",",1) print(b) ------------------------------------------------------------------- 輸出 ---> ['可樂', '愛,python']
示例2:
a = "可樂,愛,python" b = a.rsplit(",",1) print(b) ------------------------------------------------------------------- 輸出 ---> ['可樂,愛', 'python']
1.5 合併字符串
能夠將可迭代對象經過join()方法合併成字符串。(可迭代對象:後續可樂會在高級部分進行講解,並自定義咱們想要的可迭代對象)在這裏你們能夠通俗的理解爲可迭代對象就是str,dict,list,tuple。
語法:
str.join(iterable)
示例1(經常使用):
a = ["可樂", "愛", "python"] b = "".join(a) print(b) ------------------------------------------------------------------- 輸出 ---> 可樂愛python
示例2(不經常使用):
a = {"可樂": "嘿嘿", "很帥": "是的"} b = "".join(a) print(b) ------------------------------------------------------------------- 輸出 ---> 可樂很帥
1.6 檢測子字符串在字符串的索引
ps:當子字符串不存在時,會報錯!能夠利用這個特性來判斷子字符串是否存在。
語法:
str.index(sub[, start[, end]]) -> int
- sub:要檢測的子字符串。
- start:檢測的開始位置索引,默認從頭開始。
- end:檢測的結束位置索引,默認到最後。
可靈活使用,須要深刻了解的可私聊可樂或者看源碼註釋。
示例1:
a = "可樂是可樂呀" b = a.index("可樂") # b = a.index("可樂", 0, -1) print(b) ------------------------------------------------------------------- 輸出 ---> 0
示例2:
a = "可樂是可樂呀" b = a.index("可了") # b = a.index("可了", 0, -1) print(b) ------------------------------------------------------------------- 拋出異常 ValueError
1.7 指定字符串開頭或者結尾
startswith()指定某個字符串開頭。若是是,返回True,反之返回False。
endswith()指定某個字符串結尾。若是是,返回True,反之返回False。
語法:
str.startswith(prefix[, start[, end]]) -> bool
str.endswith(suffix[, start[, end]]) -> bool
- prefix/suffix: 要檢測的子字符串。
- start: 檢測的開始位置索引, 默認從頭開始。
- end: 檢測的結束位置索引, 默認到最後。
示例1:
a = "可樂是可樂呀" b = a.startswith("可樂") # b = a.startswith("可樂",0,-1) print(b) ------------------------------------------------------------------- 輸出 ---> True
示例2:
a = "可樂是可樂呀" b = a.endswith("可樂") # b = a.endswith("可樂",0,-1) 輸出True print(b) ------------------------------------------------------------------- 輸出 ---> False
思考一下爲何b=a.endswith("可樂",0,-1)的時候輸出True, 可樂會在下篇進行解釋, 或者私聊可樂。
1.8 字符串轉所有大寫
語法:
str.upper()
示例:
a = "abc" b = a.upper() print(b) ------------------------------------------------------------------- 輸出 ---> ABC
1.9 字符串轉所有小寫
語法:
str.lower()
示例:
a = "ABC" b = a.lower() print(b) ------------------------------------------------------------------- 輸出 ---> abc
1.10 字符串格式化
語法:
① %
② format()
③ f-string
注意:第一種方式官方並不太建議, 詳細請看官方文檔
第三種f-string格式化方式須要python3.7以上的版本!!!
示例1:
a = "可樂" b = "hello %s" % a print(b) ------------------------------------------------------------------- 輸出 ---> hello 可樂
示例2:
a = "可樂" b = "hello {}".format(a) print(b) ------------------------------------------------------------------- 輸出 ---> hello 可樂
示例3:
a = "可樂" b = f"hello {a}" print(b) ------------------------------------------------------------------- 輸出 ---> hello 可樂
1.11 編解碼
概念:
編碼: 將字符串編碼成字節。
解碼: 將字節解碼成字符串。
語法:
編碼: str.encode(encoding,errors)
解碼: str.decode(encoding,errors)
- encoding: 須要編碼或者解碼的格式, 通常爲utf-8, 或者gbk。
- errors: 錯誤的處理方式, 默認是strict, 遇到非法字符拋出異常, 默認便可。
後續可樂會專門加一篇ASCII和Unicode和UTF-8和gbk的文章。
示例1:
a = "可樂" b = a.encode() print(b) ------------------------------------------------------------------- 輸出 ---> b'\xe5\x8f\xaf\xe4\xb9\x90' 注:輸出的是以16進制形式的字符編碼值
示例2:
a = b'\xe5\x8f\xaf\xe4\xb9\x90' b = a.decode() print(b) ------------------------------------------------------------------- 輸出 ---> 可樂
2、數字型經常使用方法
2.1 浮點型轉整型
語法:
int()
示例:
a = 1.1 b = int(a) print(b) ------------------------------------------------------------------- 輸出 ---> 1
2.2 保留小數位並四捨五入
語法:
round(number, digits)
- digits: 四捨五入時要使用的小數位數,默認爲0。
示例:
a = 3.1415 b = round(a, 3) print(b) ------------------------------------------------------------------- 輸出 ---> 3.15
3、列表經常使用方法
注意: 想要熟悉掌握列表經常使用方法, 必須熟悉上一篇的索引, 以及可變類型。
3.1 將其餘類型轉換成列表
語法:
list(iterable)
可迭代對象iterable字符串部分已經備註, 這裏可樂就不備註了。
示例:
a = (1, 2, 3) b = list(a) print(b) ------------------------------------------------------------------- 輸出 ---> [1, 2, 3]
3.2 指定位置插入數據
語法:
list.insert(index,obj)
示例:
a = [1, 2, 3] a.insert(1, "可樂") print(a) ------------------------------------------------------------------- 輸出 ---> [1, '可樂', 2, 3]
3.3 在列表末尾添加數據
語法:
list.append(obj)
示例:
a = [1, 2, 3] a.append("可樂") print(a) ------------------------------------------------------------------- 輸出 ---> [1, 2, 3, '可樂']
3.4 將其餘可迭代對象追加到列表中
語法:
list.extend(iterable)
示例:
a = [1, 2, 3] a.extend((4, 5, 6)) print(a) ------------------------------------------------------------------- 輸出 ---> [1, 2, 3, 4, 5, 6]
3.5 修改指定索引的數據
語法:
list[index] = obj
示例:
a = [1, 2, 3] a[0] = "可樂" print(a) ------------------------------------------------------------------- 輸出 ---> ['可樂', 2, 3]
3.6 刪除指定索引的數據
語法:
① del list[index]
② list.pop(index)
示例1:
a = [1, 2, 3] del a[2] print(a) ------------------------------------------------------------------- 輸出 ---> [1, 2]
示例2:
a = [1, 2, 3] a.pop(2) print(a) ------------------------------------------------------------------- 輸出 ---> [1, 2]
3.7 刪除第一個出現的指定數據
語法:
list.remove(value)
示例:
a = [1, 2, 3, 2] a.remove(2) print(a) ------------------------------------------------------------------- 輸出 ---> [1, 3, 2]
3.8 清空列表
語法:
list.clear()
示例:
a = [1, 2, 3] a.clear() print(a) ------------------------------------------------------------------- 輸出 ---> []
3.9 統計列表長度
語法:
len(list)
示例:
a = [1, 2, 3] b = len(a) print(b) ------------------------------------------------------------------- 輸出 ---> 3
3.10 統計數據在列表中出現的次數
語法:
list.count(value)
示例:
a = [1, 2, 3, 2] b = a.count(2) print(b) ------------------------------------------------------------------- 輸出 ---> 2
3.11 列表排序
語法:
list.sort(key,reverse)
- key: 指定排序方式的函數。
- reverse: 等於True降序, 等於False升序, 默認False。
示例1:
a = [1, 2, 3, 2] a.sort() print(a) ------------------------------------------------------------------- 輸出 ---> [1, 2, 2, 3]
示例2:根據字典的 key=可樂 進行升序排序
def hello_list(e): return e["可樂"] a = [{"可樂": 18}, {"可樂": 26}, {"可樂": 20}] a.sort(key=hello_list) print(a) ------------------------------------------------------------------- 輸出 ---> [{'可樂': 18}, {'可樂': 20}, {'可樂': 26}]
備註:函數在下一篇可樂會詳細講解, 示例2只是演示key的做用。
3.12 列表反轉
語法:
list.reverse()
示例:
a = [1, 2, 3, 4] a.reverse() print(a) ------------------------------------------------------------------- 輸出 ---> [4, 3, 2, 1]
4、元組的經常使用方法
4.1 建立空元組
語法:
① tuple()
② ()
示例:
a = tuple() # a = () print(a) ------------------------------------------------------------------- 輸出 ---> ()
4.2 經過索引訪問元組的值
語法:
tuple[index]
示例:
a = (1, 2, 3, 4) b = a[0] print(b) ------------------------------------------------------------------- 輸出 ---> 1
4.3 刪除元組
語法:
del tuple
示例:
a = (1, 2, 3, 4) print(a) del a print(a) ------------------------------------------------------------------- 第一行輸出 ---> (1,2,3,4) 第二行拋出 NameError
注意: 上篇可樂已經明確表示元組是不可變類型, 因此對於元組來講不存在修改和切片。由於當你修改元組時, 實際狀況是會在內存中開闢新的內存地址用來存放新的元組。
可樂用代碼給你們演示一下:
a = (1, 2, 3, 4) print(f"原元組的值是{a}") print(f"原元組的內存地址是{id(a)}") b = a[:2] print(f"修改後元組的值是{b}") print(f"修改後元組的內存地址是{id(b)}")
備註: python經過內置函數id()來訪問值的內存地址
輸出結果如圖:
5、字典的經常使用方法
想要熟練掌握字典的經常使用方法,須要對可樂上一篇字典的key-value(鍵值對)的格式比較熟悉,字典的key必須是不可變類型,value能夠是任何類型。
5.1 建立空字典
語法:
① dict()
② {}
示例:
a = {} #a = dict() print(a) ------------------------------------------------------------------- 輸出 ---> {}
5.2 獲取字典的值
語法:
① dict[key]
② dict.get(key, default=None)
示例1:
a = {"name": "可樂", "age": 18} print(a["name"]) ------------------------------------------------------------------- 輸出 ---> 可樂
示例2:
a = {"name": "可樂", "age": "18"} b = a.get("name") print(b) ------------------------------------------------------------------- 輸出 ---> 可樂
注意: 在第一種方式中, 若是key不存在, 會拋出異常;第二種方式若是key不存在, 則返回默認值。
5.3 修改字典的值
語法:
① dict[key] = value
② dict.update(new_dict)
示例1:
a = {"name": "可樂", "age": 18} a["name"] = "是可樂呀" print(a) ------------------------------------------------------------------- 輸出 ---> {'name': '是可樂呀', 'age': 18}
示例2:
a = {"name": "可樂", "age": 18} a.update({"python": "hello"}) print(a) ------------------------------------------------------------------- 輸出 ---> {'name': '可樂', 'age': 18, 'python': 'hello'}
注意: 若是指定的key在字典中不存在, 那麼就是增長一個鍵值對。
5.4 計算字典元素個數
語法:
len(dict)
示例:
a = {"name": "可樂", "age": 18} b = len(a) print(b) ------------------------------------------------------------------- 輸出 ---> 2
5.5 獲取字典全部的key
語法:
dict.keys()
示例:
a = {"name": "可樂", "age": 18} b = a.keys() print(b) ------------------------------------------------------------------- 輸出 ---> ["name","age"]
獲取字典全部的value
語法:
dict.values()
示例:
a = {"name": "可樂", "age": 18} b = a.values() print(b) ------------------------------------------------------------------- 輸出 ---> ['可樂', '18']
5.7 獲取字典的key-value
語法:
dict.items()
示例:
a = {"name": "可樂", "age": "18"} b = a.items() print(b) ------------------------------------------------------------------- 輸出 ---> [('name', '可樂'), ('age', '18')]
6、條件語句
在python中條件語句就是三個關鍵字 if elif else 。
語法:
if 判斷條件:
執行代碼
elif 判斷條件:
執行代碼
else:
執行代碼
說明: 在上述的條件判斷中是互斥的, 也就是說要麼執行if的代碼, 要麼執行elif的代碼, 要麼執行else的代碼, 而且只要其中一個符合條件, 那麼程序便不會判斷後面的條件了。這部分能夠優化代碼。
示例1:
a = "可樂" if a == "可樂": print("可樂1") elif a == "可樂": print("可樂2") else: print("什麼都不是") ------------------------------------------------------------------- 輸出 ---> 可樂1
示例2:
a = "可樂" if a == "可樂": print("可樂1") if a == "可樂": print("可樂2") if a == "可樂": print("可樂3") ------------------------------------------------------------------- 輸出 ---> 可樂1 輸出 ---> 可樂2 輸出 ---> 可樂3
7、循環語句
python中循環包括while循環和for循環。
while循環:表示給定一個判斷條件爲True時, 進入循環體, 爲False跳出循環體;
for循環:表示會重複的執行語句;
死循環:表示程序一直在循環體當中跳不出來。必定要避免死循環!!!
7.1 while循環
語法:
while 判斷條件:
執行代碼
示例:
a = 0 while a < 10: print(a) a += 1 ------------------------------------------------------------------- 輸出 ---> 0-9
7.2 for循環
語法:
① for iterating_var in iterable:
執行代碼
② for iterating_var in range(start,stop,step)
執行代碼
- start是開始數據
- stop是結束數據
- step是步長
示例1:
for i in [1, 2, 3]: print(i) ------------------------------------------------------------------- 輸出 ---> 1~3
示例2:
for i in range(1, 10, 2): print(i) ------------------------------------------------------------------- 輸出 ---> 1 3 5 7 9
7.3 循環控制語句
語法:
① break
② continue
說明:
- break會終止循環體,程序再也不往下循環;
- continue結束本次循環,程序繼續下一次的循環。
注意: 若是是嵌套循環, 那麼break終止的是當前所在的循環體, 而不是整個循環嵌套體。
示例1:
for i in [1, 2, 3]: for j in [4, 5, 6]: if j == 5: break print(j) ------------------------------------------------------------------- 輸出 ---> 4 4 4 解釋一下: 在程序中是一個循環嵌套, 當j==5時, 內層循環會終止進入外層循環的下一次循環。
示例2:
for i in [1, 2, 3]: for j in [4, 5, 6]: if j == 5: continue print(j) ------------------------------------------------------------------- 輸出 ---> 4 6 4 6 4 6 解釋一下: 在程序中是一個循環嵌套, 當j==5時, 內層循環會跳出本次循環, 進入內層循環的下一次循環。
到此咱們在本篇中學習了python數據類型的經常使用方法,條件語句和循環語句。各位道友在學習過程當中遇到疑問能夠私聊可樂,可樂看到了都會一一回復的。
那麼下一篇可樂將和你們看一下python當中的異常處理,函數和模塊。
按照慣例,可樂爲各位道友準備了一個簡單的題目來鞏固本篇的內容:
變量 a = {"name": "可樂", "age": 18, "hello": "python"},如今要將 a 全部的 key 放入到 b列表 中,全部的 value 放到 c列表 中。
提示:利用字典的方法和循環結合,while和for均可以實現。
在下一篇中可樂會留下答案。