Python學習筆記-Day06

Python學習筆記

Day_06-函數(shù)(一)

函數(shù)是編程語言里必不可少的一部分跷坝。編程中的函數(shù)是一定數(shù)量锌历、實現(xiàn)單一或者關聯(lián)功能的代碼塊侈离。

函數(shù)的存在,能夠很好地避免代碼的重復使用萨脑。

函數(shù)包括系統(tǒng)內置函數(shù)(如print())以及用戶自定義的函數(shù)隐轩。

6.1 定義函數(shù)

  • 定義函數(shù)的關鍵詞def
  • def后名緊跟函數(shù)名,函數(shù)名后面是()渤早,()內部可以有參數(shù)职车,也可以沒有參數(shù);
  • ()后面是冒號:鹊杖,和前面學的條件提鸟、循環(huán)語句類似,:的存在表面了一種隸屬關系仅淑,也就是下面的語句都屬于我這次定義的函數(shù)。
  • 還有類似的地方胸哥,函數(shù)內部的語句也是需要縮進涯竟。
  • return往往出現(xiàn)在函數(shù)語句的最后,用以說明定義函數(shù)的返回值,即函數(shù)的輸出數(shù)據(jù)庐船。Vamei提到银酬,函數(shù)中的return起到了返回且終止的作用。換句話說筐钟,如果函數(shù)內部在return后面還有語句揩瞪,函數(shù)在執(zhí)行的時候只執(zhí)行到return,后面的語句將不會被執(zhí)行篓冲。
  • return不是必需的函數(shù)語句李破,如果沒有return,函數(shù)返回值為None壹将,即為空數(shù)據(jù)嗤攻;return后也可以返回多個值,用逗號隔開诽俯。如return a, b, c

函數(shù)定義的通用格式如下:

def 函數(shù)名(參數(shù)):
    函數(shù)體

接下來妇菱,我學著定義一個函數(shù)。

"""
python學習筆記-day06
函數(shù)的一些知識及用法暴区。

version:0.1
author:chris
公眾號:穎川河
"""


def num_plus(a, b):
    c = a + b
    return c


x, y = 10, 22
print(num_plus(x, y))

輸出結果為:

32

需要注意的是闯团,根據(jù)PEP8的要求,在定義函數(shù)的時候仙粱,函數(shù)的前面及后面都要有兩個空行房交。

6.2 調用函數(shù)

“定義了函數(shù),就像打造了一把利器缰盏,這把利器必須使用起來涌萤,才能發(fā)揮作用”(Vamei)。

使用函數(shù)的過程稱作函數(shù)的調用口猜。

函數(shù)定義的時候负溪,自身參數(shù)稱之為“形參”,函數(shù)調用時的參數(shù)稱之為“實參”济炎。

函數(shù)定義之后川抡,使用的過程中給他賦予實實在在的參數(shù),并得到函數(shù)返回值须尚,就是函數(shù)的調用過程崖堤。以上面第一個例子為據(jù),函數(shù)調用還可以這么寫:

def num_plus(a, b):
    c = a + b
    return c


print(num_plus(10, 22))

函數(shù)在調用的時候耐床,會自動根據(jù)參數(shù)的位置認定其與形參的對應關系密幔。即10對應形參a,22對應形參b撩轰。

而第一個例子中胯甩,函數(shù)調用時的參數(shù)是系統(tǒng)中已經(jīng)存在的變量昧廷。

6.3 函數(shù)例子

構建函數(shù)求最大公約數(shù)。

最大公約數(shù)有兩種常用的方法:輾轉相除法和更相減損法.

輾轉相除法(引自百度百科):

例如偎箫,求(319木柬,377):
∵ 319÷377=0(余319)
∴(319,377)=(377淹办,319)眉枕;
∵ 377÷319=1(余58)
∴(377,319)=(319怜森,58)速挑;
∵ 319÷58=5(余29)
∴ (319,58)=(58塔插,29)梗摇;
∵ 58÷29=2(余0)
∴ (58,29)= 29想许;
∴ (319伶授,377)=29。

代碼如下:

def gcb_division(a, b):
   while a > 0 and b > 0:
       c = a % b
       if c != 0:
           a = b
           b = c
       else:
           return b
print(gcb_division(377, 319))

運行結果為:

29

更相減損法(引自百度百科):

第一步:任意給定兩個正整數(shù)流纹;判斷它們是否都是偶數(shù)糜烹。若是,則用2約簡漱凝;若不是則執(zhí)行第二步疮蹦。
第二步:以較大的數(shù)減較小的數(shù),接著把所得的差與較小的數(shù)比較茸炒,并以大數(shù)減小數(shù)愕乎。繼續(xù)這個操作,直到所得的減數(shù)和差相等為止壁公。
則第一步中約掉的若干個2與第二步中等數(shù)的乘積就是所求的最大公約數(shù)感论。

代碼如下:

def gcb_minus(a, b, i):
    i == 0
    while a % 2 == 0 and b % 2 == 0:
        a = a / 2
        b = b / 2
        i += 1
    while True:
        c = int(abs(a - b))
        a = b
        b = c
        if c == 0:
            return a*2**i
            
print(gcb_minus(260, 104, 0))

輸出結果如下:
52

6.4 小結

這一節(jié)學習了函數(shù)最基本的知識點,并且嘗試著定義了函數(shù)紊册,也通過一個例題來說明函數(shù)的使用比肄。后面還會進一步學習函數(shù)參數(shù)的傳遞等方面的內容。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末囊陡,一起剝皮案震驚了整個濱河市芳绩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撞反,老刑警劉巖妥色,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異遏片,居然都是意外死亡垛膝,警方通過查閱死者的電腦和手機鳍侣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吼拥,“玉大人,你說我怎么就攤上這事线衫≡淇桑” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵授账,是天一觀的道長枯跑。 經(jīng)常有香客問我,道長白热,這世上最難降的妖魔是什么敛助? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮屋确,結果婚禮上纳击,老公的妹妹穿的比我還像新娘。我一直安慰自己攻臀,他們只是感情好焕数,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著刨啸,像睡著了一般堡赔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上设联,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天善已,我揣著相機與錄音,去河邊找鬼离例。 笑死换团,一個胖子當著我的面吹牛,可吹牛的內容都是我干的粘招。 我是一名探鬼主播啥寇,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼洒扎!你這毒婦竟也來了辑甜?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤袍冷,失蹤者是張志新(化名)和其女友劉穎磷醋,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胡诗,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡邓线,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年淌友,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骇陈。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡震庭,死狀恐怖,靈堂內的尸體忽然破棺而出你雌,到底是詐尸還是另有隱情器联,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布婿崭,位于F島的核電站拨拓,受9級特大地震影響,放射性物質發(fā)生泄漏氓栈。R本人自食惡果不足惜渣磷,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望授瘦。 院中可真熱鬧醋界,春花似錦、人聲如沸奥务。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氯葬。三九已至挡篓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間帚称,已是汗流浹背官研。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留闯睹,地道東北人戏羽。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像楼吃,于是被迫代替她去往敵國和親始花。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,798評論 0 38
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,345評論 0 2
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔孩锡,今天18年5月份再次想寫文章酷宵,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 2,762評論 2 9
  • 函數(shù)和對象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念躬窜。通過函數(shù)可以封裝任意多條語句浇垦,而且...
    道無虛閱讀 4,564評論 0 5
  • 第5章 函數(shù)和函數(shù)式編程 5.1 引言函數(shù)是組織好的,可重復使用的荣挨,用來實現(xiàn)單一男韧,或相關聯(lián)功能的代碼段朴摊。函數(shù)...
    VIVAFT閱讀 959評論 0 5