[2015-07-30] python011

容器數據類型特性總結

  • 列表、元素和字典字面量,可以在不使用續行符的情況下,寫在多行上,最後一個元素後可加逗號,但空元素後不能有逗號
  • 所有對象都有引用計數
    • 指定新名稱或放入新容器中時,會導致引用計數增加,當引用計數爲0時,垃圾回收器會回收該對象
    • 使用del()刪除對象的引用時,會減少對象的引用計數
    • 使用sys模塊的sys.getrefcount()方法可查看引用計數
  • 列表和字典都支持兩種類型的複製操作:淺複製和深複製
    • 淺複製會創建一個新對象,對象中存儲的是指向原對象的引用,原對象改變,新對象也改變,如l2 = l1
    • 深複製會創建一個新對象,並遞歸複製原對象中每個元素,原對象改變,新對象不變
    • 深複製可使用copy模塊中的deepcopy()實現
  • Python中的所有對象都是“第一類”,這意味着使用標識符命名的所有對象都有相同狀態,於是,能夠命名的所有對象都可以直接當數據進行處理
  • 所有序列都支持迭代
  • 所有序列都支持的操作和方法:
    s[i]
    s[i:j]
    s[i:j:stride]
    len(s)
    min(s)
    max(s)
    sum(s)
    all(s)
    any(s)
    s1 + s2 : 連接
    s1 * N : 重複
    obj in s1 :成員關係判斷
    obj not in s1
  • 可變序列的操作:
    元素賦值
    —–s1[index] = value
    切片賦值
    —–s1[i:j] = t
    刪除指定元素
    —–del s1[index]
    刪除切片
    —–del s1[i:j]
    刪除擴展切片
    —–del s1[i:j:stride]

Python的表達式和語句

表達式 :

1個或多個操作數,0個或多個操作符組成的序列

語句 :

  • 變量聲明語句
  • 賦值語句
  • 調用語句
  • 控制語句
    • 循環
    • 條件判斷

Python中的常用的表達式操作符 :

算術運算
    x + y , x - y
    x * y , x / y , x // y , x % y
邏輯運算
    x or y
    x and y
    not x
成員關係運算
    x in y
    x not in y 
對象實例測試
    x is y
    x not is y 
比較運算
    x < y
    x > y
    x <= y
    x >= y
    x == y
    x != y
按位運算
    x | y
    x & y 
    x ^ y
    x << y
    x >> y
一元運算
    -x
    +x 
    ~x 
冪運算
    x ** y
索引和分片
    x[i]
    x[i:j]
    x[i:j:stride]
調用
    x(...)
取屬性
    x.attribute
元組: (...)
序列: [...]
字典: {...}

三元選擇表達式
    x if y else z 
匿名函數
    lambda args: expression
生成器函數發送協議
    yield x 

運算優先級 :

    (...),[...],{...}
    s[i],s[i:j]
    s.attribute 
    s(...)
    +x , -x , ~x 
    x ** y 
    * , / , // , %
    + , -
    << , >>
    &
    ^
    |
    < , <= , > , >= , == , !=
    is , not is 
    in , not in 
    not 
    and 
    or 
    lambda 

常用語句 :

    賦值語句 
    調用語句
    print:打印對象
    if/elif/else : 條件判斷 
    for/else: 序列迭代
    while/else : 普通循環
    pass: 佔位符
    break
    continue
    def
    return 
    yield 
    global : 命名空間
    raise : 觸發異常
    import : 模塊導入
    from : 模塊屬性訪問
    class : 類
    try/except/finally : 捕捉異常
    del : 刪除引用
    assert : 調試檢查
    with/as : 環境管理器

賦值語句 :

    變量名引用前必須先賦值
    隱性賦值:
        import, from, def, class, for, 函數參數
    元組和列表支持分解賦值:
        當賦值符號(=)的左側爲元組或列表時,Python會按照位置把右邊的對象和左邊的目標自左而右逐一進行配對
        個數不同時,會觸發異常,此時可以切片的方式進行
    多重目標賦值:
        num1 = num2 = num3 = 44
    增強賦值:
        +=, -=, *=, /=, //=, %=
        增強賦值執行效率很高,建議使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章