1. 程式人生 > >old boy 8月9日 is id 小數據池

old boy 8月9日 is id 小數據池

name 存儲 編碼 .get 什麽 是什麽 alex 不變 update

01 昨日內容回顧
    字典:
        key:value形式存儲,
        key:不可變(可哈希)的數據類型
        value:任意數據類型,對象。
        大量的數據,關系型數據。查詢速度非常快
        python3.5包含3.5之前,字典無序的。
        python3.6以後,字典是有序的。
        dic = {‘name‘:‘taibai‘}
        增:
            dic[‘age‘] = 18  # 有責改之,無責增加
            dic.setdefault(key,value)  # 有則不變,無責增加

        刪:
            pop 按照鍵去刪除 有返回值
            dic.pop(‘name2‘,None)
            clear 清空
            del
                del dic[‘name‘]
                del dic
            popitem() 有返回值
                python3.5包含3.5之前,字典無序的。 隨機刪除
                python3.6以後,字典是有序的。 默認刪除最後一個。
        改:
            dic[‘name‘] = ‘alex‘
            update(字典)
            update(sex=‘man‘)

        查:
            按鍵去查
                dic[‘name‘]
                dic[‘name1‘]
                dic.get(‘name‘)
            dic.keys() dic.values() dic.items() 都可以遍歷,都可以轉化成list
            a = 10
            b = 20
            a,b = b,a
            for k,v in dic.items():
                print(k,v)

------------------------------------------------------------------------------------------------------------------------
一 代碼塊
if True while: for i in ‘57878484’
  print()      print()    print()

雖然上面的縮進內容都叫代碼塊,但是它們不是python中嚴格定義的代碼塊。
*****python中真正意義的代碼塊是什麽?
一個模塊, 一個函數, 一個類,一個文件等 都是一個代碼塊。
def func() class A:
  print() name = ‘alex’
交互模式下,每一行就是一個代碼塊,比如說電腦的 cmd
l1= 100 可以理解這一行在一個文件中
l2 = 100 可以理解這一行在另一個文件中。

二 id is
name = ‘alex123’
name1 =‘alex123’
print(id(name),id(name1)) 內存地址= 內存地址
在內存中id都是唯一的,如果兩個變量指向的值 的 id相同,就證明他們是在同一一個內存當中。
is 判斷的是兩個變量的id值是否相同。
如果is 是True , == 一定是 True

三 小數據池 (也叫 緩存機制, 駐留機制)
小數據池的應用的數據類型: 整數, 字符串, bool值

小數據池,python對內存做的一個優化
它將 -5 ~ 256的整數, 以及一定規則的字符串,提前在內存中創建了池,容器。
在一個容器裏固定的放了這些數。
why?
1 節省內存。
2提高性能與效率


編碼 和解碼
encode 和 decode


old boy 8月9日 is id 小數據池