基礎數據類型補充

1. 編碼解碼:(用什麼編,就用什麼解)

  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
應用場景:文件操做,網絡傳輸,網絡編程

2. 基礎數據類型補充:

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 也就是字典的值

3. 深淺拷貝

淺拷貝:
  只拷貝一層,元素是不可變的,就不會變;若是是可變數據,元素同時變;
li = [1,2,3,4]
lst = li(跟着變) 賦值編碼

深拷貝: import copy(模塊)
  不可變數據類型公用,可變數據類型從新開闢空間
  copy.deepcopyspa

4. is和==的區別

  is: 判斷兩邊的內存地址是否一致; 是否是一我的   code

  ==: 判斷兩邊的值是否相同 判斷兩人長得是否是同樣 對象

5. 代碼塊

  一個文件,函數,模塊,類,但cmd中一行就是一個代碼塊,是python中內置的,爲了節省資源,提升效率 blog

   數 字: 範圍 -5至256 字符串: 若是字符串相乘,總長度不能超過20

  (代碼塊的級別高於小數據池,同一文件下,先執行代碼塊,再執行小數據池)

6. 各數據類型的相互轉化

字符串轉列表:
    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'))

在轉換字典時,由字典的鍵當作列表和元祖的元素
字典能夠轉成其餘數據類型,但其它數據類型不能轉換爲字典

 7. 數據類型總結

可變的數據類型: 列表,字典,集合
不可變的數據類型: 字符串,整型,布爾值,元組
可迭代的數據類型: 字符串,列表,字典,元組,集合
不可迭代的數據類型: 整型,布爾值
有序的數據類型: 列表,元組
無序的數據類型: 字典,集合
相關文章
相關標籤/搜索