學習筆記系列——函數(shù)式編程

人生苦短,我用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裝飾器檢查保證沒有重復值

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 要點: 函數(shù)式編程:注意不是“函數(shù)編程”,多了一個“式” 模塊:如何使用模塊 面向對象編程:面向對象的概念、屬性、...
    victorsungo閱讀 1,694評論 0 6
  • pyton review 學習指南 https://www.zhihu.com/question/29138020...
    孫小二wuk閱讀 1,181評論 0 2
  • 教程總綱:http://www.runoob.com/python/python-tutorial.html 進階...
    健康哥哥閱讀 2,177評論 1 3
  • 內(nèi)置函數(shù)Python解釋器內(nèi)置了許多功能和類型,總是可用的。他們是按字母順序列在這里。 abs(x)返回一個數(shù)的絕...
    uangianlap閱讀 1,357評論 0 0
  • 曾經(jīng)不喜歡吃的東西,后來也不討厭了。曾經(jīng)不喜歡的衣服,后來也不討厭了。曾經(jīng)不喜歡的人,后來也不討厭了。我以為我會喜...
    Soul麥芽閱讀 7,044評論 325 250

友情鏈接更多精彩內(nèi)容