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 是按照字節讀取。