抽象函數(shù)

抽象函數(shù)

一 ==概念==:

函數(shù)是一個可以重復(fù)使用的代碼塊,而且他有名稱,授受參數(shù)的傳入,返回輸出

抽象,迭代輸出列表的例子

例如:

l = [1,2,3,4,5,6]
for i in l:
        print i

工具:sublime text2

界面更改字體:

{"font_face":Ubuntu Mono

"font_size":14

}


二,==內(nèi)置函數(shù)==:

  • max()
  • min()
  • len()
  • type()
  • id()
  • dir()

三,==創(chuàng)建==

def test(a):
    """
    test doc.
    """
    a.sort()
    return a
print test(l)
  1. 保留關(guān)鍵字 def 空格 函數(shù) 名稱
  2. 函數(shù)名后面是需要傳入的參數(shù),放在小括號,聲明部分以冒號結(jié)束
  3. 第二行建議三引號括起來寫描述文檔
    1. 調(diào)用函數(shù)文檔:test.__doc__
    2. 或者help(test)
  4. 函數(shù)一定要有return返回值

四,==函數(shù)的參數(shù)==

這個參數(shù)用來像函數(shù)內(nèi)部傳遞一些參數(shù),處理后return返回

  1. 傳遞參數(shù)

  2. 位置參數(shù)(必填),關(guān)鍵字參數(shù)(可選)

    默認參數(shù)是位置參數(shù),從左至右傳入

    關(guān)鍵字參數(shù),直接通過變量名匹配

  3. 參數(shù)的值是局部的,他只在函數(shù)內(nèi)部發(fā)生作用

    全局作用可以用 globle a

  4. *是元組 #收集器

    **是字典

def test(a,b,*arg1,**arg2):     #位置參數(shù)在前,元組需放在字典參數(shù)前
    '''
    測試元組,字典,位置參數(shù)
    '''
    return a,b,arg1,arg2
print test(3,4,4,5,6,j=4,k=3,m=5)

結(jié)果:(3, 4, (4, 5, 6), {'k': 3, 'j': 4, 'm': 5})

pass 的問題

print "a>b" if a>b else pass

會出錯,因為pass不能作為輸出,可以加上引號"pass"


沒有return會返回none


==抽象加法例==

def add(*num):
    '''
    加法
    '''
    n = 0
    for i in num:
        n += i 

instance(num,int)判斷類型

assert斷言關(guān)鍵字 ,成立就什么都不做,如果條件不成立就會報錯 assert add(a,b) == 4 ,"標明原因"


注意事項

  1. 學(xué)習(xí)使用好函數(shù)
    1. 現(xiàn)實現(xiàn)代碼的功能,在把他抽象成函數(shù)
    2. 抽象成函數(shù):先寫偽代碼,命名規(guī)范,默認參數(shù)
    3. 考慮函數(shù)健壯性
  2. 自省fun.__code__
  3. 作用域
  4. 可變參數(shù)的問題

lambda匿名函數(shù)

  1. lambda,行內(nèi)函數(shù)

  2. 格式:

    lambda x: x+1

    lambda 參數(shù): 表達式

    簡單任務(wù)用lambda,復(fù)雜任務(wù)用def

  3. 如何調(diào)用

    l = lambda x: x+1
    l(2)
    

    lambda主體內(nèi)想要用if語句,需要用三元表達式

    三元表達式 x if x>y else y

    l = lambda x,y:x if x>y else y 例子

    for 循環(huán),利用列表推導(dǎo)式

    l = [222,23,467,34,657]
    f = lambda x:[item for item in x if item > 30]
    print f(l)
    
  4. filter函數(shù)

    .isalnum() 所有字符都是數(shù)字或字母

    f = filter(lambda x: x.isalnum(),l)

    filter 把不滿足的條件全部過濾

  5. 遞歸

    調(diào)用函數(shù)本身

    factorial ==階乘==

    ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異撒璧,居然都是意外死亡,警方通過查閱死者的電腦和手機笨使,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門卿樱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人硫椰,你說我怎么就攤上這事繁调。” “怎么了靶草?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵蹄胰,是天一觀的道長。 經(jīng)常有香客問我奕翔,道長裕寨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任派继,我火速辦了婚禮宾袜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘驾窟。我一直安慰自己庆猫,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布纫普。 她就那樣靜靜地躺著阅悍,像睡著了一般好渠。 火紅的嫁衣襯著肌膚如雪昨稼。 梳的紋絲不亂的頭發(fā)上节视,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音假栓,去河邊找鬼寻行。 笑死,一個胖子當(dāng)著我的面吹牛匾荆,可吹牛的內(nèi)容都是我干的拌蜘。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼牙丽,長吁一口氣:“原來是場噩夢啊……” “哼简卧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起烤芦,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤举娩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后构罗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铜涉,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年遂唧,在試婚紗的時候發(fā)現(xiàn)自己被綠了芙代。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡盖彭,死狀恐怖纹烹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情召边,我是刑警寧澤铺呵,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站掌实,受9級特大地震影響陪蜻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜贱鼻,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一宴卖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧邻悬,春花似錦症昏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掘宪。三九已至,卻和暖如春攘烛,著一層夾襖步出監(jiān)牢的瞬間魏滚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工坟漱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鼠次,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓芋齿,卻偏偏與公主長得像腥寇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子觅捆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容