s.encode('utf-8') 編碼
s.decode('utf-8') 解碼 python
s = 'alex' s1 = s.encode('utf-8') print(s1.decode('gbk')) 不能!不能!不能! s = 'alex' s.encode('utf-8') 編碼 utf-8包含了ASCII s.decode('gbk') 解碼 gbk也包含了ASCII 應用場景:文件操做,網絡傳輸,網絡編程
1. 列表不能循環添加,不然會變成死循環編程
li = [1,2] li[1] = li print(li) 結果是:[1,[...]]
2.利用for循環刪除列表內容:(不能用remove)網絡
pop刪除: li = [1,2,3,4,5,6] for i in range(len(li)): li.pop() print(li) 賦值刪除:(偷換概念) lst1 = [1,2,3,4,5,6] lst2 = [] for i in lst1: lst2.append(i) for n in lst2: lst1.remove(n) print(lst1)
3. for循環刪除字典內容:(dic中的元素在迭代的過程當中不容許進行刪除)app
dic = {'':'','':''} lst = [] for i in dic: lst.append(i) 獲取到的是字典的鍵 for n in lst: dic.pop(n) print(dic)
4. fromkeys( ,''):函數
dic = {'jay':'jj'} dic = dic.fromkeys(['jay','jj'],['周杰倫','麻花藤']) print(dic) 第一個位置是可迭代對象,也就是字典的鍵 第二個位置 不寫是None 也就是字典的值
淺拷貝:
只拷貝一層,元素是不可變的,就不會變;若是是可變數據,元素同時變;
li = [1,2,3,4]
lst = li(跟着變) 賦值編碼
深拷貝: import copy(模塊)
不可變數據類型公用,可變數據類型從新開闢空間
copy.deepcopyspa
is: 判斷兩邊的內存地址是否一致; 是否是一我的 code
==: 判斷兩邊的值是否相同 判斷兩人長得是否是同樣 對象
一個文件,函數,模塊,類,但cmd中一行就是一個代碼塊,是python中內置的,爲了節省資源,提升效率 blog
數 字: 範圍 -5至256 字符串: 若是字符串相乘,總長度不能超過20
(代碼塊的級別高於小數據池,同一文件下,先執行代碼塊,再執行小數據池)
字符串轉列表: s = '1111,2222,333,4444' print(s.split(",")) 列表轉字符串: lst = ['1','22','333'] print(''join(lst)) 列表和元祖互轉: lst = ['1','22','333'] 列表轉元祖 print(tuple(['1','22','333'])) 元祖轉列表 print(list('1','22','333')) 在轉換字典時,由字典的鍵當作列表和元祖的元素 字典能夠轉成其餘數據類型,但其它數據類型不能轉換爲字典
可變的數據類型: 列表,字典,集合
不可變的數據類型: 字符串,整型,布爾值,元組
可迭代的數據類型: 字符串,列表,字典,元組,集合
不可迭代的數據類型: 整型,布爾值
有序的數據類型: 列表,元組
無序的數據類型: 字典,集合