1. 程式人生 > >python的小總結

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 是按照位元組讀取。