函數(shù)

定義

  1. def語句后依次接函數(shù)名、括號、括號中的參數(shù)和冒號:,然后在縮進塊中編寫函數(shù)體,返回值用return語句返回。
  2. 不帶return語句的函數(shù)返回None。
  3. 函數(shù)可以返回多個值,以逗號分隔。其實返回的是一個tuple。接受函數(shù)返回的多個值時根據(jù)位置進行賦值。
def test(x, y):
    return x + 1, y + 1


a, b = test(1, 2)
print(a, b)    
# 2 3
c = test(3, 4)
print(c)
# (4, 5)

默認參數(shù)

  1. 必選參數(shù)在前,默認參數(shù)在后。
  2. 變化大的參數(shù)在前,變化小的參數(shù)在后,作為默認參數(shù)。
  3. 有多個默認參數(shù)時可以按順序提供參數(shù),也可以不按順序提供參數(shù),此時需要把參數(shù)名寫上。
def power(x, y=2, z=3):
    return x+1, y+1, z+1


print(power(5, z=4, y=8))
# (6, 9, 5)
  1. 默認參數(shù)必須指向不變對象。

可變參數(shù)

  1. 可變參數(shù)就是參數(shù)的個數(shù)是可變的
  2. 使用方法:
def calc(*numbers):
    sum = 0
    for num in numbers:
        sum += num
    return sum


print(calc(1, 2, 3, 9))
# 15
  1. 在參數(shù)之前添加*號,函數(shù)內(nèi)部接收到的參數(shù)numbers是一個tuple。
  2. 如果已經(jīng)有一個list或tuple,在list或tuple前添加一個*就可以把list或tuple中的元素轉(zhuǎn)換為可變參數(shù)傳入。(與JS中的拓展運算符作用類似)

關(guān)鍵字參數(shù)

  1. 關(guān)鍵字參數(shù)允許提供任意多個參數(shù),這些參數(shù)在函數(shù)調(diào)用時組裝成一個dict。
  2. 使用方法:
def person(name, age, **kw):
    print('name: ', name, 'age: ', age, 'other:', kw)


person('alex', 22, gender='m')
# name:  alex age:  22 other: {'gender': 'm'}
  1. 與可選參數(shù)類似,在一個dist之前加上兩個*號可以把dist轉(zhuǎn)換為關(guān)鍵字參數(shù)。

命名關(guān)鍵字參數(shù)

  1. 命名關(guān)鍵字參數(shù)限制了能傳入的關(guān)鍵字參數(shù)的名字。
    1. 在位置參數(shù)與命名關(guān)鍵字參數(shù)間必須有特殊的*作為分隔。
def person(name, age, *, gender,job):
    print('name: ', name, 'age: ', age, 'gender: ', gender, 'job: ', job)


person('alex', 22, gender='m', job='ee')
# name:  alex age:  22 gender:  m job:  ee
  1. 如果在命名關(guān)鍵字參數(shù)之前已經(jīng)有了可變參數(shù),后面跟著的關(guān)鍵字參數(shù)就不需要特殊分隔符*了。
  2. 命名關(guān)鍵字參數(shù)可以有默認值。

參數(shù)組合

  1. py中有五種參數(shù):必須參數(shù)、默認參數(shù)、可變參數(shù)、命名關(guān)鍵字參數(shù)和關(guān)鍵字參數(shù)。
  2. 組合使用這五種參數(shù)時順序必須是:必須參數(shù)、默認參數(shù)、可選參數(shù)、命名關(guān)鍵字參數(shù)和關(guān)鍵字參數(shù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 內(nèi)置函數(shù)Python解釋器內(nèi)置了許多功能和類型,總是可用的。他們是按字母順序列在這里。 abs(x)返回一個數(shù)的絕...
    uangianlap閱讀 1,376評論 0 0
  • 位置參數(shù) 我們先寫一個計算x2的函數(shù): 對于power(x)函數(shù),參數(shù)x就是一個位置參數(shù)。 當我們調(diào)用power函...
    喵在野閱讀 384評論 0 1
  • 文/沐陽徐 ? “南瓜,你慢點兒跑” “快來追我,快來~” “好,你慢點兒” 臨近黃昏,布達拉廣場上,笙月跟著南瓜...
    沐陽徐閱讀 2,769評論 45 32
  • 晨起 露水還在悄悄播撒著大地 蟋蟀也還沒棲息 銀白還沒褪去 東方已經(jīng)悄悄升起 踏著這一路塵埃 我奔馳在這寧靜的空氣...
    半個月亮夭折了閱讀 180評論 0 0
  • 郭相麟 人活得太清楚 想得太明白 跪拜在地 尋求解脫 活得不容易 飯要吃 覺要睡 不吃不喝 純屬自我折磨 乞求上蒼...
    郭相麟閱讀 276評論 0 0

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