python技巧分享(十五)

這是一個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收獲。

1 lambda

#!/usr/bin/env python
# coding=utf8


add = lambda x, y : x + y
print add(1, 2)
# 3

print (lambda x, y: x + y)(2, 3)
# 5

lambda主要用于實現匿名函數,定義一些簡短的、輕量級的函數,但是犧牲了一定的可讀性。由示例中可以看到,這里通過lambda定義了一個add函數,lambda自動實現了return功能,add的調用方式和正常的函數一樣。另外,lambda定義的函數可以不賦值給任何變量,直接就可以調用。

2 子類判斷

#!/usr/bin/env python
# coding=utf8


class BaseClass:
    pass


class SubClass(BaseClass):
    pass


class OtherClass:
    pass


print issubclass(SubClass, BaseClass)
# True
print issubclass(OtherClass, BaseClass)
# False

通過內置函數issubclass,可以判斷一個類是否屬于另外一個類的子類。由示例中可以看到,SubClass是BaseClass的子類,而OtherClass不是BaseClass的子類。

3 元素統計

#!/usr/bin/env python
# coding=utf8

import collections


l = 'abbcccdddd'
list_counter = collections.Counter(l)
print list_counter
# Counter({'d': 4, 'c': 3, 'b': 2, 'a': 1})
print list_counter.most_common(3)
# [('d', 4), ('c', 3), ('b', 2)]

借助collections模塊,可以實現一個可迭代對象的計數功能。由示例中可以看到,這里分別計算出了列表l中每個字母出現的次數。通過調用most_common方法,還可以得到出現次數最多的前三個字母。詳情請參考:https://docs.python.org/2/library/collections.html

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • http://python.jobbole.com/85231/ 關于專業技能寫完項目接著寫寫一名3年工作經驗的J...
    燕京博士閱讀 7,616評論 1 118
  • 環境準備[http://www.cnblogs.com/ddrsql/p/6030110.html#prepare...
    UtopiaLee閱讀 587評論 0 0
  • 關鍵點## RAII機制 C++操作符重載 參考鏈接## C++11智能指針之unique_ptr shared_...
    lutery閱讀 1,038評論 0 0
  • 陽光下綻放的我,美麗,動人。沒有人知道,那是為你。你也不知道,那天,樹林里的遇見,我便再也不能自己。不為風...
    梁紅玉閱讀 294評論 0 1
  • 如今的花果山是個景區 世上當然也就沒有了那塊 鐘天地靈氣的頑石 卻不知這世上 突然又從哪里冒出來 一只猴子 和那只...
    劉漢皇閱讀 195評論 3 2