人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

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

發(fā)布日期:2021-12-30 16:01 | 文章來源:源碼中國

1.函數(shù)的介紹

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

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

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

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

格式如下:

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

實例:

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

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

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

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

實例:

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

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

4.參數(shù)的分類

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

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

4.1.位置參數(shù)

格式如下:

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

實例:

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)

實例:

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

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

實例:

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

如果關(guān)鍵字參數(shù)傳參要在位置參數(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ù))

實例:

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

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

4.4.不定長參數(shù)

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

格式如下:

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

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

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

實例:

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

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

實例:

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ù)值)

實例:

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)

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

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

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

格式如下:

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

實例:

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

1.多個return

實例:

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

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

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

實例:

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

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

4.7.函數(shù)的類型

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

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

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

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

實例:

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

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

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

實例:

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

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

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

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

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

實例:

# 計算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ù)的嵌套

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

實例:

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)用了另外一個函數(shù)B,那么先把函數(shù)B中的任務(wù)都執(zhí)行完畢之后才會回到上次 函數(shù)A執(zhí)行的位置

4.9.匿名函數(shù)

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

實例:

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

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

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

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

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

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

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

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

寫一個函數(shù)求每個數(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)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部