欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中關(guān)于函數(shù)的具體用法范例以及介紹

 更新時(shí)間:2021年09月28日 08:46:04   作者:測(cè)試領(lǐng)頭羊  
函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。你已經(jīng)知道Python提供了許多內(nèi)建函數(shù),比如print()。但你也可以自己創(chuàng)建函數(shù),這被叫做用戶自定義函數(shù)

1.函數(shù)的介紹

在開(kāi)發(fā)程序時(shí),需要某塊代碼多次,但是為了提高編寫的效率以及代碼的重用,所以把具有獨(dú)立功能的代碼塊組織為一個(gè)小模塊,這就是函數(shù)

定義函數(shù)的規(guī)則:

  • 函數(shù)代碼塊以 def 關(guān)鍵詞開(kāi)頭,后接函數(shù)標(biāo)識(shí)符名稱和圓括號(hào) ()。
  • 任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間,圓括號(hào)之間可以用于定義參數(shù)。
  • 函數(shù)的第一行語(yǔ)句可以選擇性地使用文檔字符串—用于存放函數(shù)說(shuō)明。
  • 函數(shù)內(nèi)容以冒號(hào) : 起始,并且縮進(jìn)。
  • return [表達(dá)式] 結(jié)束函數(shù),選擇性地返回一個(gè)值給調(diào)用方,不帶表達(dá)式的 return相當(dāng)于返回 None。

2.函數(shù)的定義和調(diào)用

格式如下:

def 函數(shù)名():
    執(zhí)行語(yǔ)句
函數(shù)名()    #調(diào)用函數(shù)

實(shí)例:

def info():
    print("人生苦短我用python")
info()

定義了函數(shù)之后,就相當(dāng)于有了一個(gè)具有某些功能的代碼,想要讓這些代碼能夠執(zhí)行,需要調(diào)用它
調(diào)用函數(shù)很簡(jiǎn)單的,通過(guò) 函數(shù)名() 即可完成調(diào)用
每次調(diào)用函數(shù)時(shí),函數(shù)都會(huì)從頭開(kāi)始執(zhí)行,當(dāng)這個(gè)函數(shù)中的代碼執(zhí)行完畢后,意味著調(diào)用結(jié)束了
當(dāng)然了如果函數(shù)中執(zhí)行到了return也會(huì)結(jié)束函數(shù)

3.函數(shù)的參數(shù)

首先定義一個(gè)帶有參數(shù)的函數(shù),并且調(diào)用這個(gè)函數(shù)

實(shí)例:

def test1(a,b):   # a,b為參數(shù)
    c=a+b
    print(c)
test1(1,2)  # 調(diào)用帶有參數(shù)的函數(shù)時(shí),需要在小括號(hào)中,傳遞數(shù)據(jù)

在這里插入圖片描述

定義時(shí)小括號(hào)中的參數(shù),用來(lái)接收參數(shù)用的,稱為 “形參”
調(diào)用時(shí)小括號(hào)中的參數(shù),用來(lái)傳遞給函數(shù)用的,稱為 “實(shí)參”

4.參數(shù)的分類

函數(shù)參數(shù)大概分為四種:

  • 位置參數(shù)
  • 關(guān)鍵字參數(shù)
  • 缺省參數(shù)
  • 不定長(zhǎng)參數(shù)

4.1.位置參數(shù)

格式如下:

def 函數(shù)名(參數(shù)1,參數(shù)2):
    代碼塊
函數(shù)名(值1,值2)

實(shí)例:

def fun(a,b):
    print("a:",a)
    print("b:",b)
fun(2,3)

在這里插入圖片描述

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

格式如下:

def 函數(shù)名(參數(shù)1,參數(shù)2):
    代碼塊
函數(shù)名(參數(shù)1=值1,參數(shù)2=值2)

實(shí)例:

def fun(a,b):
    print("a:",a)
    print("b:",b)
fun(a=2,b=3)

在這里插入圖片描述

參數(shù)調(diào)用時(shí)可以改變傳參順序,如果有位置參數(shù)需要位置參數(shù)放在關(guān)鍵字參數(shù)前面

實(shí)例:

def fun(a,b):
    print("a:",a)
    print("b:",b)
fun(3,b=2)

在這里插入圖片描述

如果關(guān)鍵字參數(shù)傳參要在位置參數(shù)之前,將會(huì)報(bào)錯(cuò)

實(shí)例:

def fun(a,b):
    print("a:",a)
    print("b:",b)
fun(a=3,2)

在這里插入圖片描述

4.3.缺省參數(shù)

在形參中默認(rèn)有值的參數(shù),稱之為缺省參數(shù)(也稱為默認(rèn)參數(shù))

實(shí)例:

def printinfo(name,age=20):
    print("name:",name)
    print("age:",age)
printinfo(name="jack")

在這里插入圖片描述

調(diào)用函數(shù)時(shí),缺省參數(shù)的值如果沒(méi)有傳入,則取默認(rèn)值(形式參數(shù)),如果傳入,則取實(shí)際參數(shù)
缺省參數(shù)一定要位于位置參數(shù)的最后面

4.4.不定長(zhǎng)參數(shù)

有時(shí)可能需要一個(gè)函數(shù)能處理比當(dāng)初聲明時(shí)更多的參數(shù), 這些參數(shù)叫做不定長(zhǎng)參數(shù),聲明時(shí)不會(huì)命名。

格式如下:

def printinfo(*args,**kwargs):
    print("args:",args)
    print("kwargs:",kwargs)
printinfo(參數(shù))

加了星號(hào)(*)的變量args會(huì)存放所有未命名的變量參數(shù),args為元組
加**的變量kwargs會(huì)存放命名參數(shù),即形如key=value的參數(shù), kwargs為字典

1.不定長(zhǎng)參數(shù)*args

實(shí)例:

def printinfo(*args):
    print("args:",args)
printinfo(100,200,300,400)

在這里插入圖片描述

2.不定長(zhǎng)參數(shù)* * kwargs

實(shí)例:

def printinfo(**kwargs):
    print("kwargs:",kwargs)
printinfo(a=100,b=200,c=300,d= 400)

在這里插入圖片描述

4.5.函數(shù)位置順序

格式如下:

def fun(位置參數(shù),*args,缺省參數(shù),**kwargs):
    代碼塊
fun(參數(shù)值)

實(shí)例:

def sun(a,*args,b=22,**kwargs):
    print("a:",a)
    print("args:",args)
    print("b:",b)
    print("kwargs:",kwargs)
sun(100,200,300,b=2,m=3,n=4)

在這里插入圖片描述

如果很多個(gè)值都是不定長(zhǎng)參數(shù),那么這種情況下,可以將缺省參數(shù)放到 *args的后面, 但如果有**kwargs的話,**kwargs必須是最后的

4.6.函數(shù)的返回值

場(chǎng)景:
我給兒子10塊錢,讓他給我買包煙。這個(gè)例子中,10塊錢是我給兒子的,就相當(dāng)于調(diào)用函數(shù)時(shí)傳遞到參數(shù),讓兒子買煙這個(gè)事情最終的目標(biāo)是,讓他把煙給你帶回來(lái)然后給你對(duì)么,,,此時(shí)煙就是返回值

格式如下:

def sum():
    代碼塊
    return 值
sum()

實(shí)例:

def sum(a,b):
    return a+b
result = sum(1,2)   #保存函數(shù)的返回值
print(result)

在這里插入圖片描述

1.多個(gè)return

實(shí)例:

def create_nums(num):
    print("---1---")
    if num == 100:
        print("---2---")
        return num + 1  # 函數(shù)中下面的代碼不會(huì)被執(zhí)行,因?yàn)閞eturn除了能夠?qū)?shù)據(jù)返回之外,還有一個(gè)隱藏的功能:結(jié)束函數(shù)
        print("return執(zhí)行之后不會(huì)繼續(xù)執(zhí)行")
    else:
        print("wewe")
        return "輸入不是100"
print(create_nums(100))

在這里插入圖片描述

一個(gè)函數(shù)中可以有多個(gè)return語(yǔ)句,但是只要有一個(gè)return語(yǔ)句被執(zhí)行到,那么這個(gè)函數(shù)就會(huì)結(jié)束了,因此后面的return沒(méi)有什么用處

2.返回多個(gè)數(shù)據(jù)

實(shí)例:

def divid(a, b):
    add = a+b    #相加
    reduct = a-b    #相減
    return add, reduct  #默認(rèn)是元組
result = divid(5, 2)
print(result)

在這里插入圖片描述

return后面可以是元組,列表、字典等,只要是能夠存儲(chǔ)多個(gè)數(shù)據(jù)的類型,就可以一次性返回多個(gè)數(shù)據(jù)

4.7.函數(shù)的類型

函數(shù)根據(jù)有沒(méi)有參數(shù),有沒(méi)有返回值,可以相互組合,一共有4種:

  • 1. 無(wú)參數(shù),無(wú)返回值
  • 2. 無(wú)參數(shù),有返回值
  • 3. 有參數(shù),無(wú)返回值
  • 4. 有參數(shù),有返回值

1.無(wú)參數(shù),無(wú)返回值的函數(shù)

此類函數(shù),不能接收參數(shù),也沒(méi)有返回值,一般情況下,打印提示燈類似的功能,使用這類的函數(shù)

實(shí)例:

def printMenu():
    print('--------------------------')
    print('      xx涮涮鍋 點(diǎn)菜系統(tǒng)')
    print('')
    print('  1.  羊肉涮涮鍋')
    print('  2.  牛肉涮涮鍋')
    print('  3.  豬肉涮涮鍋')
    print('--------------------------')

2.無(wú)參數(shù),有返回值的函數(shù)

此類函數(shù),不能接收參數(shù),但是可以返回某個(gè)數(shù)據(jù),一般情況下,像采集數(shù)據(jù),用此類函數(shù)

實(shí)例:

def getTemperature():
    # 這里是獲取溫度的一些處理過(guò)程
    # 為了簡(jiǎn)單起見(jiàn),先模擬返回一個(gè)數(shù)據(jù)
    return 24
tem=getTemperature()
print(tem)

在這里插入圖片描述

3.有參數(shù),無(wú)返回值的函數(shù)

此類函數(shù),能接收參數(shù),但不可以返回?cái)?shù)據(jù),一般情況下,對(duì)某些變量設(shè)置數(shù)據(jù)而不需結(jié)果時(shí),用此類函數(shù)

4.有參數(shù),有返回值的函數(shù)

此類函數(shù),不僅能接收參數(shù),還可以返回某個(gè)數(shù)據(jù),一般情況下,像數(shù)據(jù)處理并需要結(jié)果的應(yīng)用,用此類函數(shù)

實(shí)例:

# 計(jì)算1~num的累積和
def calculateNum(num):
    result = 0
    i = 1
    while i<=num:
        result = result + i
        i+=1
    return result
cal=calculateNum(100)
print(cal)

在這里插入圖片描述

4.8.函數(shù)的嵌套

一個(gè)函數(shù)里面又調(diào)用了另外一個(gè)函數(shù),這就是所謂的函數(shù)嵌套調(diào)用

實(shí)例:

def testb():
    print("testb start")
    print("testb testb  執(zhí)行")
    print("testb end")
def testa():
    print("testa start")
    testb()
    print("testa end")
testa()

在這里插入圖片描述

如果函數(shù)A中,調(diào)用了另外一個(gè)函數(shù)B,那么先把函數(shù)B中的任務(wù)都執(zhí)行完畢之后才會(huì)回到上次 函數(shù)A執(zhí)行的位置

4.9.匿名函數(shù)

lambda函數(shù)也叫匿名函數(shù),即函數(shù)沒(méi)有具體的名稱

實(shí)例:

g = lambda x :x+1
print(g(1))

在這里插入圖片描述

lambda函數(shù)可以賦值給變量,默認(rèn)是返回的,所以不用再加return關(guān)鍵字
例如g = lambda x:x+1,可以看成如下函數(shù),冒號(hào)前是參數(shù),可以有多個(gè),用逗號(hào)隔開(kāi),冒號(hào)右邊的返回值

def g(x):
    return x + 1
print(g(1))

在這里插入圖片描述

5.函數(shù)小練習(xí)

寫一個(gè)函數(shù)求三個(gè)數(shù)的和,并返回結(jié)果

def func(a,b,c):
    return a+b+c
print(func(1,4,7))

在這里插入圖片描述

寫一個(gè)函數(shù)求三個(gè)數(shù)的平均值,并返回結(jié)果

def func1(a,b,c):
    return (a+b+c)/3
print(func1(2,3,4))

在這里插入圖片描述

寫一個(gè)函數(shù)求每個(gè)數(shù)與平均值之間的差,并返回結(jié)果

def func2(a,b,c):
    d=(a+b+c)/3
    return a-d,b-d,c-d
print(func2(5,8,2))

在這里插入圖片描述

到此這篇關(guān)于Python中關(guān)于函數(shù)的具體用法范例以及介紹的文章就介紹到這了,更多相關(guān)Python 函數(shù)用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在Python中利用Into包整潔地進(jìn)行數(shù)據(jù)遷移的教程

    在Python中利用Into包整潔地進(jìn)行數(shù)據(jù)遷移的教程

    這篇文章主要介紹了在Python中如何利用Into包整潔地進(jìn)行數(shù)據(jù)遷移,在數(shù)據(jù)格式的任意兩個(gè)格式之間高效地遷移數(shù)據(jù),需要的朋友可以參考下
    2015-03-03
  • python實(shí)現(xiàn)簡(jiǎn)單的socket server實(shí)例

    python實(shí)現(xiàn)簡(jiǎn)單的socket server實(shí)例

    這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單的socket server的方法,實(shí)例分析了Python中socket的操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Python基礎(chǔ)詳解之列表復(fù)制

    Python基礎(chǔ)詳解之列表復(fù)制

    這篇文章主要介紹了Python基礎(chǔ)詳解之列表復(fù)制,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • python雙向鏈表實(shí)例詳解

    python雙向鏈表實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了python雙向鏈表實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python正則表達(dá)式教程之三:貪婪/非貪婪特性

    Python正則表達(dá)式教程之三:貪婪/非貪婪特性

    這篇文章主要介紹了Python正則表達(dá)式中貪婪/非貪婪特性的相關(guān)資料,文中通過(guò)示例代碼介紹的很詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友下面來(lái)一起看看吧。
    2017-03-03
  • Python抖音無(wú)水印視頻下載方法

    Python抖音無(wú)水印視頻下載方法

    這篇文章主要介紹了用Python下載抖音無(wú)水印視頻的方法,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 使用Python合并PDF文件并添加自定義目錄及頁(yè)腳的全過(guò)程

    使用Python合并PDF文件并添加自定義目錄及頁(yè)腳的全過(guò)程

    在處理文檔時(shí),我們經(jīng)常遇到需要合并多個(gè)PDF文件并添加目錄及頁(yè)腳的情況,本文將介紹如何使用Python,特別是PyPDF2和reportlab庫(kù)來(lái)實(shí)現(xiàn)這一功能我們將通過(guò)一個(gè)實(shí)用的示例來(lái)演示整個(gè)過(guò)程,需要的朋友可以參考下
    2024-03-03
  • 解決使用Pandas 讀取超過(guò)65536行的Excel文件問(wèn)題

    解決使用Pandas 讀取超過(guò)65536行的Excel文件問(wèn)題

    這篇文章主要介紹了解決使用Pandas 讀取超過(guò)65536行的Excel文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • pytest官方文檔解讀fixtures的autouse

    pytest官方文檔解讀fixtures的autouse

    這篇文章主要為大家介紹了pytest官方文檔解讀fixtures的autouse,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 利用Python檢測(cè)URL狀態(tài)

    利用Python檢測(cè)URL狀態(tài)

    最近小編接到這樣的需求,Python檢測(cè)URL狀態(tài),并追加保存200的URL。接下來(lái)通過(guò)實(shí)例代碼給大家分析講解,需要的朋友跟隨小編一起看看吧
    2019-07-07

最新評(píng)論