人生苦短,我用python

高階函數(shù):一個函數(shù)接收另一個函數(shù)作為參數(shù),這種函數(shù)稱為高階函數(shù)
map(函數(shù),迭代對象)
reduce()結果和下一個元素做累積計算
fliter()過濾序列? ----通過判斷返回值為True或False-----需使用list返回結果
面向對象編程——object oriented programming
類和實例:
__init__(self,,)第一個參數(shù)必須為self,表示創(chuàng)建的實例本身
訪問限制:在變量名前加__ 變?yōu)樗接凶兞?例如__x? __name
通過 def set_name():
self.__name = name 可以從外部改變參數(shù)
增加條件避免傳入的參數(shù)無效
以雙下劃線開頭結尾的為特殊變量可以訪問
繼承、多態(tài)
判斷一個變量是否為某個類型:is instance(變量,類型)
__slots__()限制class能添加的屬性,只對當前實例起作用,對繼承的子類無效
@property將方法變?yōu)閷傩浴獙嵱?/p>
@property本身又創(chuàng)建了另一個裝飾器@score.setter,負責把一個setter方法變成屬性賦值
加.setter為可讀寫,不加則為只讀
無需調(diào)用函數(shù)而直接調(diào)用屬性
返回的值需設置為self._xx? 同訪問限制的__區(qū)別
多重繼承---可繼承多個類? ? Mixin機制
__str__()返回字符串
__repr__()調(diào)試服務
__repr__ = __str__
__iter__()返回一個迭代對象
__getitem__()獲得任意對象? int or slice
__setitem__()把對象作為list or dict
__getattr__()動態(tài)返回一個屬性? 可以raise AttributeError判斷不存在該屬性
__call__()直接在實實例本身上調(diào)用
用callable()查看能否調(diào)用
實現(xiàn) :無論API怎么變,SDK都可以根據(jù)URL實現(xiàn)完全動態(tài)的調(diào)用,不隨API的增加而改變
@unique裝飾器檢查保證沒有重復值