<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          盤點(diǎn)Python定義函數(shù)基礎(chǔ)知識

          共 2000字,需瀏覽 4分鐘

           ·

          2021-03-16 15:00

          點(diǎn)擊上方“Go語言進(jìn)階學(xué)習(xí)”,進(jìn)行關(guān)注

          回復(fù)“Go語言”即可獲贈從入門到進(jìn)階共10本電子書

          嶺外音書斷,經(jīng)冬復(fù)歷春。

          一、定義函數(shù)

          在Python中,定義一個函數(shù)要使用def語句,依次寫出函數(shù)名、括號、括號中的參數(shù)和冒號:,然后,在縮進(jìn)塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回。

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

             def 函數(shù)名():        代碼

          示例:

             # 定義一個函數(shù),能夠完成打印信息的功能    def printInfo():        print '------------------------------------'        print 'Go語言進(jìn)階學(xué)習(xí)'        print '------------------------------------'
          1. 定義帶有參數(shù)的函數(shù)

          示例如下:

            def add2num(a, b):        c = a+b        print c
          1. 調(diào)用帶有參數(shù)的函數(shù)

          以調(diào)用上面的add2num(a, b)函數(shù)為例:

          def add2num(a, b):    c = a + b    print(c)

          add2num(11, 22)# 調(diào)用帶有參數(shù)的函數(shù)時,需要在小括號中,傳遞數(shù)據(jù)

          運(yùn)行結(jié)果:

          1. 調(diào)用函數(shù)時參數(shù)的順序

          >>> def test(a,b):...     print(a,b)... print(test(1, 2))1 2print(test(b=1, a=2))2 1>>> >>> print(test(b=1, 2))  File "<stdin>", line 1SyntaxError: positional argument follows keyword argument

          二、調(diào)用函數(shù)

          定義了函數(shù)之后,就相當(dāng)于有了一個具有某些功能的代碼,想要讓這些代碼能夠執(zhí)行,需要調(diào)用它

          調(diào)用函數(shù)很簡單的,通過 函數(shù)名() 即可完成調(diào)用。

          例:

             # 定義完函數(shù)后,函數(shù)是不會自動執(zhí)行的,需要調(diào)用它才可以    printInfo()

          三、函數(shù)返回多個值

          函數(shù)可以返回多個值嗎?答案是肯定的。

          1. 帶有返回值的函數(shù)

          想要在函數(shù)中把結(jié)果返回給調(diào)用者,需要在函數(shù)中使用return

          如下示例:

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

          或者

             def add2num(a, b):        return a+b
          1. 保存函數(shù)的返回值

          如果一個函數(shù)返回了一個數(shù)據(jù),那么想要用這個數(shù)據(jù),那么就需要保存

          保存函數(shù)的返回值示例如下:

          # 定義函數(shù)def add2num(a, b):    return a + b

          # 調(diào)用函數(shù),順便保存函數(shù)的返回值result = add2num(100, 98)
          # 因?yàn)閞esult已經(jīng)保存了add2num的返回值,所以接下來就可以使用了print(result)

          運(yùn)行結(jié)果:

          四、my_abs內(nèi)置函數(shù)abs的差別

          print(my_abs('A'))

          當(dāng)傳入了不恰當(dāng)?shù)膮?shù)時,內(nèi)置函數(shù)abs會檢查出參數(shù)錯誤,而定義的my_abs沒有參數(shù)檢查,會導(dǎo)致if語句出錯,出錯信息和abs不一樣。

          修改一下my_abs的定義,數(shù)據(jù)類型檢查可以用內(nèi)置函數(shù)isinstance()實(shí)現(xiàn):

          def my_abs(x):     if not isinstance(x, (int, float)):         raise TypeError('bad operand type')        if x >= 0:            return x      else:            return -x

          添加了參數(shù)檢查后,如果傳入錯誤的參數(shù)類型,函數(shù)就可以拋出一個錯誤:

          my_abs('A')

          五、總結(jié)

          本文基于Python基礎(chǔ),介紹了函數(shù)定義。定義函數(shù)時,需要確定函數(shù)名和參數(shù)個數(shù);如果有必要,可以先對參數(shù)的數(shù)據(jù)類型做檢查;函數(shù)體內(nèi)部可以用return隨時返回函數(shù)結(jié)果。

          ------------------- End -------------------

          往期精彩文章推薦:

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Go學(xué)習(xí)群請?jiān)诤笈_回復(fù)【入群

          萬水千山總是情,點(diǎn)個【在看】行不行

          瀏覽 85
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  最新操碰| 大香蕉日逼 | 天天日天天操天天日 | 天天拍天天操天天干 | 尹人在线大香蕉 |