Python 小知識點

一、對象和值的比較

對象的是否相同: a is b      #相同返回True,不然Falsehtml

值是否相同:a == b     #相同返回True,不然Falsepython

二、列表切片操做返回新列表

對列表對象進行切片 或 「+」操做均返回新列表,不影響原有列表函數

sorted(list) 內置排序函數也是返回新列表,和 list.sort()不一樣。
 spa

三、bisect模塊:一個有趣的python排序模塊:bisect

bisect.insort (list,value)  返回將value插入列表的索引值code

bisect.bisect(list,value)        返回value將會插入列表的索引,實際不插入列表htm

四、元組的比較

若是比較的元素是同類型的,則比較其值,返回結果。對象

若是兩個元素不是同一種類型,則檢查它們是不是數字。blog

  • 若是是數字,執行必要的數字強制類型轉換,而後比較。
  • 若是有一方的元素是數字,則另外一方的元素"大"(數字是"最小的")
  • 不然,經過類型名字的字母順序進行比較。

若是有一個列表首先到達末尾,則另外一個長一點的列表"大"。排序

若是咱們用盡了兩個列表的元素並且所 有元素都是相等的,那麼結果就是個平局,就是說返回一個 0。索引

def is_after(t1, t2):
    """Returns True if t1 is after t2; false otherwise."""
    return (t1.hour, t1.minute, t1.second) > (t2.hour, t2.minute, t2.second)

五、同時返回商和餘數 

divmod(a,b) 是用第一個參數除以第二個參數並以元組的形式返回商和餘數

a, b = divmod(35,2)
#返回值(17,1),因此a=17 b=1


六、對象的屬性和值:

打印對象全部屬性及其對應的值

def print_attributes (obj):
    for attr in vars (obj):
        print (attr , getattr (obj , attr ))
相關文章
相關標籤/搜索