day9----總結 函數(shù)基礎

day9-總結 函數(shù)基礎

  • 1.什么是函數(shù)

      函數(shù)是對實現(xiàn)特定功能代碼段的封裝
    
  • 2.函數(shù)分類

系統(tǒng)函數(shù)(內置函數(shù))  -  系統(tǒng)已經(jīng)聲明好的函數(shù)(類似已經(jīng)造好的機器)匾浪,程序員會用就行   例如:print\sum\max\min.....
自定義函數(shù)  -  程序員自己定義的函數(shù)(自己造機器)
  • 3.聲明函數(shù)

1)語法:
def 函數(shù)名(形參列表):
    函數(shù)說明文檔
    函數(shù)體

2)說明:
def - 聲明函數(shù)的關鍵字(固定寫法)
函數(shù)名  -  和變量名要求一樣
():  -  固定寫法
形參列表 - 以'變量名1大脉,變量名2梢灭,...' 的形式存在琼懊;每個變量就是形參磅叛。
            形參的個數(shù)根據(jù)情況可以沒有也可以是多個
         ***形參的作用是將函數(shù)外面的數(shù)據(jù)傳遞到函數(shù)里面
函數(shù)說明文檔 -  用三個雙引號引起來的字符串嫌褪;作用是對函數(shù)的功能進行說明
函數(shù)體  -  和def保持一個縮進的一行或者多行語句枣耀。(實現(xiàn)函數(shù)的功能的多條語句)

3)初學者聲明函數(shù)的步驟:
a.確定函數(shù)的功能
b.根據(jù)函數(shù)功能確定函數(shù)名
c.確定函數(shù)的參數(shù):看實現(xiàn)函數(shù)的功能需不需要從外面?zhèn)髦翟谌牛枰獛讉€缕减?
d.實現(xiàn)函數(shù)功能

注意(重要E±取G研洹!BА):聲明函數(shù)的時候不會執(zhí)行函數(shù)體
  • 4.函數(shù)調用(調用函數(shù)相當于使用機器),同一個函數(shù)可以調用多次

1)語法:
函數(shù)名(實參列表)

2)說明:
函數(shù)名 -  必須是已經(jīng)聲明過的函數(shù)名

() -  固定寫法
實參列表  -   以'值1皱卓,值2裹芝, 值3,...'形式存在娜汁;實參個數(shù)必須和形參個數(shù)一樣嫂易;
            這兒的每個值就是實參,是用來給形參賦值的

函數(shù)調用

  • 1.函數(shù)調用過程

1)語法:
函數(shù)名(實參列表)

2)調用函數(shù)的作用:執(zhí)行函數(shù)體掐禁;獲取返回值

3)函數(shù)調用過程:
第一步:回到函數(shù)聲明的位置
第二步:傳參(用實參給形參賦值怜械,保證每個形參都有值)
第三步:執(zhí)行函數(shù)體
第四步:執(zhí)行完函數(shù)體就確定返回值
第五步:回到函數(shù)調用的位置繼續(xù)往后執(zhí)行
# 練習:聲明一個函數(shù),實現(xiàn)求1+2+3+4+....+N的和


def sum1(n):
    t = 0
    for x in range(1, n+1):
        t += x
    print(t)


sum1(11)
sum1(100)

# 聲明一個函數(shù)傅事,打印字符串中所有的字母字符


def print_alpha(str1):
    new_str = ''
    for char in str1:
        if 'a' <= char <= 'z' or 'A' <= char <= 'Z':
            new_str += char
    print(new_str)


print_alpha('jnk123hhhb352..m')    # jnkhhhbm


# 聲明一個函數(shù)缕允,在指定字符串中數(shù)字字符后面都添加一個指定的字符


def add_char(str1, char):
    new_str = ''
    for x in str1:
        if '0' <= x <= '9':
            new_str += x + char
        else:
            new_str += x
    print(new_str)

add_char('hhbj2mk2v123...', '**') # hhbj2**mk2**v1**2**3**...

函數(shù)參數(shù)

  • 1.位置參數(shù)和關鍵字參數(shù)

根據(jù)調用函數(shù)的時候傳參的方式將參數(shù)分為位置參數(shù)和關鍵字參數(shù)

1)位置參數(shù):讓實參和形參在位置上一一對應(一般都用位置參數(shù))

2)關鍵字參數(shù):以'形參名=值'的形式傳參

注意:位置參數(shù)和關鍵字參數(shù)同時使用時候,位置參數(shù)必須在關鍵字參數(shù)的前面

3)什么時候使用關鍵字參數(shù):需要跳過前面某個或某幾個參數(shù)蹭越,直接給后面的參數(shù)賦值障本,必須使用關鍵字參數(shù)
  • 2.參數(shù)默認值(形參)

聲明函數(shù)時候,形參可以設置默認值响鹃,設置完默認值后調用函數(shù)的時候有默認值的參數(shù)可以不用傳參驾霜。
一個函數(shù)可以給所有的參數(shù)設置默認值,也可以給部分參數(shù)設默認值买置;
必須保證沒有默認值的參數(shù)必須放在有默認值的參數(shù)的前面
  • 3.參數(shù)類型說明

1)給參數(shù)賦默認值粪糙,默認值的類型就是參數(shù)的類型
2)以'參數(shù)名:類型名'的形式聲明函數(shù)
  • 4.不定長參數(shù)

1)在形參前加*,那么這個參數(shù)就可以接受多個實參;
帶*號的參數(shù)會作為一個元組忿项,對應多個實參是元組的元素(帶*號的不定長參數(shù)猜旬,必須使用位置參數(shù)傳參)

2)在形參前加**,參數(shù)也可以同時接受多個實參(帶**號的不定長參數(shù)倦卖,必須使用關鍵字參數(shù),關鍵字自己隨便命名)
將帶** 的參數(shù)作為字典椿争,將關鍵字參數(shù)的關鍵字作為key實參作為value存儲在字典中怕膛。

3) * 和 **  一起使用時時為了保證不定長參數(shù)傳參時候既可以使用位置參數(shù)也可以使用關鍵字參數(shù)

# 補充:* 的用法:*列表/*元組  -  直接取出列表/元組中所有的元素
#      **字典    -  直接取出字典中的所有元素
#  練習:聲明一個函數(shù),求多個數(shù)的差
# 例如:differ(10, 22)  -  -12   differ(1秦踪,2)   -  -1


def differ(*nums):
    if len(nums) == 0:
        print(0)
    else:
        t = nums[0]
        for x in nums[1:]:
            t -= x
        print(t)


differ(1, 12, 3, 10)  # -24
differ()    # 0

函數(shù)返回值

  • 1.什么是返回值

返回值就是return關鍵字后表達式的值(怎么確定函數(shù)的返回值)
返回值就是函數(shù)調用表達式的值(怎么獲取函數(shù)的返回值)
(python中所有函數(shù)都用返回值褐捻,默認為None)

1)return:
return是函數(shù)體中的關鍵字(只能在函數(shù)中使用)掸茅,作用有兩個:結束函數(shù)\確定函數(shù)返回值
a.結束函數(shù):執(zhí)行函數(shù)體的時候只要遇到return函數(shù)直接結束
b.確定函數(shù)的返回值:return 返回值(可以是具體數(shù)據(jù),聲明的變量柠逞,運算表達式)

2)什么是函數(shù)調用表達式
函數(shù)調用語句就是函數(shù)調用表達式:例如:max()昧狮,min()...
每個調用函數(shù)的語句都有結果,這個結果就是調用這個函數(shù)得到的返回值
  • 2.怎么使用返回值

想要用函數(shù)的返回值板壮,就使用函數(shù)調用表達式的值逗鸣。
普通數(shù)據(jù)能做的是,函數(shù)調用表達式都能做
  • 3.什么時候需要返回值

初學者:看實現(xiàn)函數(shù)的功能會不會產(chǎn)生新的數(shù)據(jù)
return 返回值1绰精,返回值2撒璧,...
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市笨使,隨后出現(xiàn)的幾起案子卿樱,更是在濱河造成了極大的恐慌,老刑警劉巖硫椰,帶你破解...
    沈念sama閱讀 211,423評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件繁调,死亡現(xiàn)場離奇詭異,居然都是意外死亡靶草,警方通過查閱死者的電腦和手機蹄胰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爱致,“玉大人烤送,你說我怎么就攤上這事】访酰” “怎么了帮坚?”我有些...
    開封第一講書人閱讀 157,019評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長互艾。 經(jīng)常有香客問我试和,道長,這世上最難降的妖魔是什么纫普? 我笑而不...
    開封第一講書人閱讀 56,443評論 1 283
  • 正文 為了忘掉前任阅悍,我火速辦了婚禮,結果婚禮上昨稼,老公的妹妹穿的比我還像新娘节视。我一直安慰自己,他們只是感情好假栓,可當我...
    茶點故事閱讀 65,535評論 6 385
  • 文/花漫 我一把揭開白布寻行。 她就那樣靜靜地躺著,像睡著了一般匾荆。 火紅的嫁衣襯著肌膚如雪拌蜘。 梳的紋絲不亂的頭發(fā)上杆烁,一...
    開封第一講書人閱讀 49,798評論 1 290
  • 那天,我揣著相機與錄音简卧,去河邊找鬼兔魂。 笑死,一個胖子當著我的面吹牛举娩,可吹牛的內容都是我干的析校。 我是一名探鬼主播,決...
    沈念sama閱讀 38,941評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼晓铆,長吁一口氣:“原來是場噩夢啊……” “哼勺良!你這毒婦竟也來了?” 一聲冷哼從身側響起骄噪,我...
    開封第一講書人閱讀 37,704評論 0 266
  • 序言:老撾萬榮一對情侶失蹤尚困,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后链蕊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體事甜,經(jīng)...
    沈念sama閱讀 44,152評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,494評論 2 327
  • 正文 我和宋清朗相戀三年滔韵,在試婚紗的時候發(fā)現(xiàn)自己被綠了逻谦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,629評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡陪蜻,死狀恐怖邦马,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情宴卖,我是刑警寧澤滋将,帶...
    沈念sama閱讀 34,295評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站症昏,受9級特大地震影響随闽,放射性物質發(fā)生泄漏。R本人自食惡果不足惜肝谭,卻給世界環(huán)境...
    茶點故事閱讀 39,901評論 3 313
  • 文/蒙蒙 一掘宪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧攘烛,春花似錦魏滚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春须眷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沟突。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評論 1 266
  • 我被黑心中介騙來泰國打工花颗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惠拭。 一個月前我還...
    沈念sama閱讀 46,333評論 2 360
  • 正文 我出身青樓扩劝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親职辅。 傳聞我的和親對象是個殘疾皇子棒呛,可洞房花燭夜當晚...
    茶點故事閱讀 43,499評論 2 348

推薦閱讀更多精彩內容

  • 1.淺拷貝和深拷貝 拷貝:將變量中的值賦值一份,產(chǎn)生新的數(shù)據(jù)域携,然后將新的數(shù)據(jù)對應的地址返回淺拷貝:直接拷貝地址(切...
    hfudhu閱讀 165評論 0 0
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔簇秒,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 2,739評論 2 9
  • 函數(shù)和對象 1秀鞭、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念趋观。通過函數(shù)可以封裝任意多條語句,而且...
    道無虛閱讀 4,543評論 0 5
  • 小弟我英語水平很差锋边,四級沒過而最近要補考四級皱坛,但單純記單詞又記不住還困,然而最近又想學習人工智能豆巨,所以就找了個人工...
    縮短了永恒閱讀 1,608評論 0 1
  • 12號 匆匆忙忙的上班下班剩辟,趕下午2:48的火車來找女朋友。說好的接我往扔,居然下班的時候來了個客戶贩猎,加了一小時的班,...
    A張浩杰閱讀 159評論 0 1