python的小總結
1.list 列表 [] 放入各種資料型別的資料
2.tuple 元組 () 也可以放多個型別 但是是隻讀. 元組又叫只讀列表.
3.dict 字典 {"name',"哈哈哈"} 鍵值對的形式. 儲存大量的資料. 存的是關係型的資料. 字典內可以存列表.
4.set 集合 {} 也是以大括號的元素 但是 裡面是一個一個元素.
5.切片:顧頭不顧腚: s = "多多多多多多賺賺賺" s6 = s[0:6] s6 = s[ : 6] 起始為0 則不寫0 也行.
6.步長 s6 = s[:5:2] 取0-5 然後 隔兩個去一個字元.
7.s = "liuBingYin" s1 = s.capitalize() capitalize 意思是轉換字串中的大小寫 轉變為 首字母大寫.
8.s = "liubingyin" s1 = s.center(20,"*") 第一個引數 是兩邊的間距 第二個是 兩邊空出來的部分填充什麼內容.
9.s1 = s.upper() upper 是全大寫. s1 = s.lower() lower 全小寫. 這兩個用途主要是驗證碼部分.
eg:code = "QaE".
upper() your_code = input("輸入驗證碼,不區分大小寫:").upper()
if your_code == code:
print("驗證成功")
10.s = "lbylbylbylby"
s1 = s.startwith("l")
s1 = s.startwith("y",3,6)
這個發 在3-6 中間是不是以 y 開頭呢. 返回的都是bool值返回.
資料處理 會用到這個startwith.
11. swap 大小寫翻轉. title 非字母隔開的每個單詞的首字母大寫.
12.s = "qwer" find 找元素角標 s1 = s.find("w") 角標是1 index 通過元素找索引, 可切片, 找不到 -1
13.strip 去處前後的空格,換行符,製表符.
14.split 分割 以空格隔開 分割成了列表 s1 = s.split(",",2)
轉換出來的 樣子就是 如果括號內是逗號 就是元素內 是以逗號分割的.
後面的引數是分割次數.被分割的就沒了.
15. join 在某些情況下,list ---> str l = ["aaa","bbb","ccc"]
s1 = "".join(l) print(s1) : aaabbbccc
形式是 字串形式.
16.s = "小剛是一個人" s1 = s.replace("小剛","小紅") print(s1) 小紅是一個人
17.len 看字串總個數. 個 數是20 索引就是19 數出 某個元素 出現的次數. c1 = s.count("f") print(c1)
18.format 格式化輸出.
1.msg = "我叫{},今年{},愛好{}".format("劉丙寅","26","籃球") {}相當於%s
2.msg = "我叫{0},今年{1},愛好{2},我依然叫{0}".format("劉丙寅","26","籃球") {}相當於%s
3.msg = "我叫{name}今年{age}愛好{hobby}".format(name = "劉丙寅",age = "26",hobby = "籃球") {}相當於%s 不侷限於順序.
19.應該能應用在比如說註冊時候密碼的驗證上面.
判斷全部是數字 isdigit()
判斷全部是字母 isalpha()
判斷是數字或者字母 isalnum()
20.for i in s: for迴圈
列表的增刪改查:
增:
形式1:
append 追加
li = [aa, "bb", 11]
li.append("ddd") print(li) li = [aa, "bb", 11,"dd"]
形式2
insert 新增 根據索引在對應的位置新增.
li.insert(1,"哪吒")
形式3:
li = [123, "jkjsdkl", 222]
li.extend("的撒旦的")
print(li) [123, 'jkjsdkl', 222, '的', '撒', '旦', '的'] 迭代追加.
刪:
形式1: 根據索引,刪除元素
li = [123, "jkjsdkl", 222]
li.pop(0)
形式2: 按照元素去刪除
li.remove("123")
形式3: 清空這個列表裡面的內容.
li.clear()
形式4: del 整個列表全部刪除.
改:
形式1: 按照索引去修改.
li[0] ="小六"
形式2:
按照切片去修改. 先將切片的區域內的內容全部刪除 然後再 迭代著新增內容.
li[:3] = "qwer"
查:
形式1: 按照索引切片去查詢 或者 for 迴圈查
for i in li: print(i)
形式2:
cou = len(li) 檢視元素個數.
形式3:
count 同一個元素 出現的次數.
index 通過元素 找索引 li.index("123")
形式4: sort: 從小到大 排序
l2.sort()
l2.sort(reverse=True) 加了引數 就是 倒序排列.
無大小之分 根據當前順序進行翻轉排列.
l2.reverse()
元組:
1.被稱為只讀列表 只能查 不能進行增刪改.
元組可以用index len count 兒子不能改 孫子可以改動.
# 元組可以用index len count
兒子不能改 孫子可以改動.
tu1 = ("sds","ererer0",111,[111,"222"])
#[]裡面的東西可以改動
tu1[3].append("liubingyin")
range是什麼?
#range 範圍 是一個自定義的數字範圍列表 與for迴圈結合使用.
# 迴圈輸入 100 for i in range(0,101):
#滿足顧頭不顧腚的原理. 0 可以取到 101不可以. #print(i)
#敏感詞的替換
str = "小姐姐代收款附件克里斯丁就發,附件快樂聖誕節"
str = str.replace("小姐姐","*")
字典:
基礎資料型別之一 {} 以鍵值對的形式來進行儲存資料. 字典的增刪改查. key value 的形式 也是對映資料型別.儲存的都是關係型資料.
容器類的資料型別:list[], dict{}, tuple().
非容器類的資料型別:str,int,bool.
字典的key 必須是不可變的資料型別. 只能從:str tuple()元素 int bool布林值.中設定型別.
字典的value 可以是任意的資料型別.
字典的查詢速度非常快. 鍵是唯一的.存在一個hash演算法. 字典的鍵都會通過hash表 轉換成數字.
字典的增刪改查:
增:
形式1:
dic = { name : "劉丙寅" , age:26}
dic["sex"] = "男" 有就會覆蓋掉原來的資料.沒有的話就會新增資料.
形式2:
#設定一個只有鍵沒有值得,進行佔位.
dic.setdefault("sex")
dic.setdefault("sex",24) #有則不做修改,沒有則新增資料.
刪:
形式1:
dic.pop("age") #按照鍵去刪除整個鍵值對
dic.pop("age","沒有這個鍵..") #後面增加這個引數 如果字典裡面沒有這個鍵也不會報錯.
形式2:
#清空字典 dic.clear()
#隨機刪除 dic.popitem()
#刪除整個字典 del dic
#刪除字典裡面的鍵值對. del dic["name"]
改:
dic["sex"] = "男"
#這也叫修改 #update 是針對兩個字典的更改.
查:
形式1:
dic.get("name") #有則取出來 沒有則返回none 後面新增引數的話, 就返回該引數.
dic = {"name":"劉丙寅","age":26,"name_list":["反面","正面","左面","右面"]}
形式2:
#for迴圈查詢 dic.keys()
#找出來所有的鍵 放在一個特殊的型別中. 這個型別 類似於列表 但不是列表的容器.
dic.values() dic.items()
#這三個可以for迴圈 for keys in dic.keys(): print(keys)
dic.keys() dic.values() dic.items()
返回的都是類似於列表的資料型別. 可遍歷 沒有索引. 直接用list將這個包裹 便可轉換為列表
直接迴圈遍歷一個字典 就是 去的所有的鍵.
is 比較的是記憶體地址是否相同.
小資料池 只存在於int 和str中 在一定範圍內 如果兩個數值相同.為了節省記憶體.公用一個記憶體地址.
讀取一個檔案 或者傳輸一個檔案 要先轉換成 bytes型別. 才能傳輸.
在檔案的儲存或傳輸,編碼是除unicode以外的任意編碼.
utf-8 和 gbk 不能直接轉換 需要用unicode來做承接.
utf-8先轉換為unicode 解碼(decode) 然後unicde再轉換成gbk 編碼(encode)
元組中如果只有一個元素 並且沒有都逗號那麼 該資料型別是對應的元素型別
如果有逗號 那麼該元素就是 元組型別.
("你好",) 和 ("你好") type 不同
dic = dict.fromkeys("abc" ,666)
print(dic) 效果:{'a': 666, 'b': 666, 'c': 666}
enumerate() 函式用於將一個可遍歷的資料物件(如列表、元組或字串)組合為一個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中.
dic = dict.fromkeys("abc" ,666)
Python 字典 fromkeys() 函式用於建立一個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應的初始值。
print(dic)
效果:{'a': 666, 'b': 666, 'c': 666}
集合:
集合: set 可變的資料型別. 是以{}的形式存在的. 字典也是但是字典是鍵值對的形式. 而集合是一個元素.
空集合:set() 空字典 {}
集合是可變的 但是集合內部的元素 是不能變的 是能是 元組,數字,字串,boolean值.
集合是無序的.不重複的.
集合作用:
1.去重. 列表扔進去集合中 再拿出來的時候 就是
2.關係測試. set1 = {1,2,3,"abc",(1,2,3),True} print(set1)
集合的增刪查: (因為集合是無序的 沒有索引 所以不能修改.)
1.增加:
set1 = {"sds","收到","sdsd","gfg","rtrtrt"}
set1.add("劉丙寅") print(set1)
2.刪除: 按照元素刪除
set1.remove("sds") print(set1)
隨機刪除:
set1 = {"sds","收到","sdsd","gfg","rtrtrt"}
set1.pop() print(set1)
清空: set1.clear()
刪除整體: del set1
查詢: for i in set1: print(set1) print(i)
檔案操作:
world wps 等 需要知道這個檔案的路徑
path 例如 d:\ddd.txt encoding
編碼方式: utf-8 gbk 等
mode 操作方式: 只讀,只寫,追加,讀寫,寫讀.
絕對路徑. f1 = open("d:\xxoo.txt",encoding="utf-8",mode="r") f1.close() f1 產生的一個變數. 又叫檔案控制代碼.
open就是對檔案操作用的. open就是python的內建函式. 底層是呼叫windows的open功能用的.
linux系統也有一個open功能.
windows 這個系統 預設的編碼方式為 gbk
linux macos :預設編碼格式:utf-8
流程: 檔案操作:
1.開啟檔案,產生檔案控制代碼 f1 = open("d:\xxoo.txt",encoding="utf-8",mode="r")
2.對檔案控制代碼產生相應的操作. f1.read()
3.關閉檔案. f1.close()
相對路徑: 當txt文件等 放在python上的時候,就用相對路徑.
f1 = open('aaa.txt', encoding='utf-8')
print(f1.read(3))
f1.close()
r模式:read(n) n 是按照字元讀取。
rb模式:read(n) n 是按照位元組讀取。