Python中函數(shù)的參數(shù)和返回值怎么用-創(chuàng)新互聯(lián)

這篇文章主要介紹了Python中函數(shù)的參數(shù)和返回值怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)的客戶來自各行各業(yè),為了共同目標(biāo),我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺(tái)開發(fā)。

01、函數(shù)參數(shù)和返回值的作用

函數(shù)根據(jù) 有沒有參數(shù) 以及 有沒有返回值,可以相互結(jié)合,共有四種:

  • 無參數(shù) 無返回值

  • 無參數(shù) 有返回值

  • 有參數(shù) 無返回值

  • 有參數(shù) 有返回值

Python中函數(shù)的參數(shù)和返回值怎么用

定義函數(shù)時(shí)候,是否接收參數(shù),或者時(shí)候返回結(jié)果,是根據(jù)實(shí)際功能需求決定的。

如果函數(shù)內(nèi)部處理的數(shù)據(jù)不確定,就可以將外界的數(shù)據(jù)以參數(shù)形式傳遞到函數(shù)內(nèi)部。

如果希望一個(gè)函數(shù)執(zhí)行完成后,向外界匯報(bào)執(zhí)行結(jié)果,就可以增加函數(shù)的返回值。

02、函數(shù)的返回值—進(jìn)階

  • 在程序開發(fā)中,有時(shí)候,會(huì)希望一個(gè)函數(shù)執(zhí)行結(jié)束后,告訴調(diào)用者一個(gè)結(jié)果,以便調(diào)用者針對(duì)具體的結(jié)果做后續(xù)的操作

  • 返回值是函數(shù)完成工作后,最后給調(diào)用者的一個(gè)結(jié)果

  • 在函數(shù)中使用return關(guān)鍵字可以返回結(jié)果

  • 調(diào)用函數(shù)的一方,可以使用變量來接收函數(shù)的返回結(jié)果

問題:一個(gè)函數(shù)執(zhí)行后能否返回多個(gè)結(jié)果???

示例:溫度和濕度的測量

假設(shè)開發(fā)一個(gè)函數(shù),同時(shí)返回當(dāng)前溫度和濕度先

返回溫度

def measure():
  temp = 39
  return temp


result = measure()
print(result)

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

Python中函數(shù)的參數(shù)和返回值怎么用

利用元組在返回溫度的同時(shí),返回濕度

改造如下:

def measure():
  temp = 39
  wetness = 50
  # 如果函數(shù)返回的類型是元組,小括號(hào)可以省略
  return temp, wetness


result = measure()
print(type(result))
print(result)
print(result[0])
print(result[1])

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

Python中函數(shù)的參數(shù)和返回值怎么用

注意:

如果函數(shù)的返回值類型是元組,可以一次使用多個(gè)變量接收元組中的元素
使用多個(gè)變量接收結(jié)果時(shí),變量的個(gè)數(shù)應(yīng)該和元組中元素的個(gè)數(shù)保持一致。

def measure():
  temp = 39
  wetness = 50
  # 如果函數(shù)返回的類型是元組,小括號(hào)可以省略
  return temp, wetness


gl_temp, gl_wetness = measure()
print(gl_temp)
print(gl_wetness)

執(zhí)行結(jié)果:

Python中函數(shù)的參數(shù)和返回值怎么用

03、函數(shù)的參數(shù)—進(jìn)階

3.1 關(guān)于函數(shù)的兩個(gè)問題

問題1:在函數(shù)內(nèi)部,針對(duì)參數(shù)使用賦值語句,會(huì)不會(huì)影響調(diào)用函數(shù)時(shí)傳遞的實(shí)參變量?——————No

無論傳遞的參數(shù)是可變還是不可變

只要針對(duì)參數(shù)使用賦值語句,就會(huì)在函數(shù)內(nèi)部修改局部變量的引用,不會(huì)影響到外部變量的引用。

def demo(num, num_list):
  print("函數(shù)內(nèi)部:")
  num = 200
  num_list = [1, 2, 3]
  print(num)
  print(num_list)
  print("內(nèi)部代碼完成")


gl_num = 99
gl_list = [4, 5, 6]
demo(gl_num, gl_list)
print(gl_num)
print(gl_list)

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

Python中函數(shù)的參數(shù)和返回值怎么用

問題2:如果傳遞的參數(shù)是可變類型,在函數(shù)內(nèi)部,使用方法修改了數(shù)據(jù)內(nèi)容,會(huì)不會(huì)影響調(diào)用函數(shù)時(shí)傳遞的實(shí)參變量?——————YES

def demo(num_list):
  num_list.extend([1, 2, 3])
  print(num_list)


gl_list = [6, 7, 8]
print(gl_list)
demo(gl_list)
print(gl_list)

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

Python中函數(shù)的參數(shù)和返回值怎么用

3.2缺省參數(shù)

定義函數(shù)時(shí),可以給某個(gè)參數(shù)指定一個(gè)默認(rèn)值,具有默認(rèn)值的參數(shù)就叫做缺省參數(shù)

調(diào)用函數(shù)時(shí),如果沒有傳入缺省參數(shù)的值,則在函數(shù)內(nèi)部使用定義函數(shù)時(shí)指定的參數(shù)默認(rèn)值

函數(shù)的缺省參數(shù),將常見的值設(shè)置為參數(shù)的缺省值,從而簡化函數(shù)的調(diào)用

例如:對(duì)列表排序的方法

gl_num_list = [6, 3, 9]

# 默認(rèn)是升序排序,因?yàn)檫@種需求更多
gl_num_list.sort()
print(gl_num_list)

# 只有當(dāng)需要降序排序的時(shí)候,才需要傳遞reverse參數(shù)
gl_num_list.sort(reverse=True)
print(gl_num_list)

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

Python中函數(shù)的參數(shù)和返回值怎么用

指定函數(shù)的缺省參數(shù)值

在參數(shù)后使用賦值語句,可以指定參數(shù)的缺省值

def print_info(name, gender=True):
  gender_text = "男生"
  if not gender:
    gender_text = "女生"
  print("%s 是 %s" % (name, gender_text))


print_info("張三")
print_info("李四", False)

執(zhí)行結(jié)果:

Python中函數(shù)的參數(shù)和返回值怎么用

提示:

缺省參數(shù),需要使用最常見的值作為默認(rèn)值

如果一個(gè)參數(shù)的值不能確定,則不應(yīng)該設(shè)置該默認(rèn)值,具體的數(shù)值在調(diào)用函數(shù)時(shí),由外界傳遞!

缺省參數(shù)的注意事項(xiàng):

①缺省參數(shù)的定義位置

必須保證帶有默認(rèn)值的缺省參數(shù)在參數(shù)列表末尾

So,以下定義是錯(cuò)誤滴

Python中函數(shù)的參數(shù)和返回值怎么用

②調(diào)用帶有多個(gè)缺省參數(shù)的函數(shù)

在調(diào)用函數(shù)的時(shí)候,如果有多個(gè)缺省參數(shù),需要指定參數(shù)名,這樣解釋其才能知道對(duì)應(yīng)關(guān)系。

Python中函數(shù)的參數(shù)和返回值怎么用

正確書寫:

Python中函數(shù)的參數(shù)和返回值怎么用

3.3多值參數(shù)

定義支持多值參數(shù)的函數(shù)

  • 有時(shí)可能需要一個(gè)函數(shù)能夠處理的參數(shù)個(gè)數(shù)是不確定的,這個(gè)時(shí)候,就可以使用多值參數(shù)

  • Python中有兩種多值參數(shù):

    • 參數(shù)名前增加一個(gè)*可以接受元組

    • 參數(shù)名前增加兩個(gè)*可以接收字典

  • 一般在給多值參數(shù)命名時(shí),習(xí)慣使用以下兩個(gè)名字

    • *args — 存放 元組 參數(shù),前面有 *

    • **kwargs — 存放 字典參數(shù),前面有**

  • args是arguments的縮寫,有變量的含義

  • kw是keyword的縮寫,kwargs可以記憶鍵值對(duì)參數(shù)

def demo(num, *args, **kwargs):
  print(num)
  print(args)
  print(kwargs)


demo(1, 2, 3, 4, 5, name="小米", age=18, gender=True)

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

Python中函數(shù)的參數(shù)和返回值怎么用

元組和字典的拆包

在調(diào)用帶有多值參數(shù)的函數(shù)時(shí),如果希望

  • 將一個(gè) 元組變量,直接傳遞給args

  • 將一個(gè) 字典變量,直接傳遞給kwargs

就可以使用拆包,簡化參數(shù)的傳遞,拆包的方式是:

  • 在元組變量前,加一個(gè)*

  • 在字典變量前,加兩個(gè)*

在開發(fā)時(shí),如果需要直接將一個(gè)元組或者字典變量傳遞給函數(shù)內(nèi)部,則需要拆包。

如果我們不進(jìn)行拆包操作,所傳參數(shù)會(huì)進(jìn)行打包傳遞,如下圖:

Python中函數(shù)的參數(shù)和返回值怎么用

進(jìn)行拆包后:

Python中函數(shù)的參數(shù)和返回值怎么用

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python中函數(shù)的參數(shù)和返回值怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享題目:Python中函數(shù)的參數(shù)和返回值怎么用-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://muchs.cn/article10/dpohgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、電子商務(wù)、定制網(wǎng)站營銷型網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司