>>defstudent_grade(name,grade,has_bonus): ifhas_b "> 图片专区亚洲欧美另类,人妻熟妇乱又伦精品视频中文字幕,2345歐美影視大全免費
400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】Python函數(shù)的關(guān)鍵字參數(shù)和參數(shù)的默認(rèn)值

【Python基礎(chǔ)知識(shí)】Python函數(shù)的關(guān)鍵字參數(shù)和參數(shù)的默認(rèn)值

  • 發(fā)布: python培訓(xùn)
  • 來(lái)源:python干貨資料
  • 2020-11-27 11:29:34
  • 閱讀()
  • 分享
  • 手機(jī)端入口

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

關(guān)鍵字參數(shù)是按照名稱傳遞參數(shù)的,而與參數(shù)的位置無(wú)關(guān),它使用類(lèi)似給變量賦值的方式調(diào)用。以student_grade()函數(shù)為例,使用關(guān)鍵字參數(shù)調(diào)用:

  1. >>> def student_grade(name, grade, has_bonus): 
  2. ...     if has_bonus: 
  3. ...         grade += 10 
  4. ...     if grade > 100
  5. ...         grade = 100 
  6. ...     print('{name}的成績(jī)?yōu)閧grade}'.format(name=name, grade=grade)) 
  7. ...  
  8. >>> student_grade(name='Ming', grade=79, has_bonus=False
  9. Ming的成績(jī)?yōu)?span id="pmw1gvg" class="number">79 

使用關(guān)鍵字參數(shù)調(diào)用函數(shù)時(shí),參數(shù)的位置變得無(wú)關(guān)緊要,只要參數(shù)的名字是正確的,函數(shù)就能夠正常調(diào)用:

  1. >>> student_grade(grade=80, has_bonus=True, name='Ming'
  2. Ming的成績(jī)?yōu)?span id="djulju7" class="number">90 
  3. >>> student_grade(has_bonus=True, name='Ming', grade=99
  4. Ming的成績(jī)?yōu)?span id="y8zunaw" class="number">100 

關(guān)鍵字參數(shù)和位置參數(shù)還可以混用,下面都是合法的調(diào)用方式:

  1. >>> student_grade('Ming', grade=79, has_bonus=False
  2. Ming的成績(jī)?yōu)?span id="kp9va3n" class="number">79 
  3. >>> student_grade('Ming'79, has_bonus=False
  4. Ming的成績(jī)?yōu)?span id="0fqgbjy" class="number">79 

混用關(guān)鍵字參數(shù)和位置參數(shù)使得調(diào)用函數(shù)變得更加靈活,但是有一種情況是不合法的,即關(guān)鍵字參數(shù)出現(xiàn)在位置參數(shù)的前面:

  1. >>> student_grade(name='Ming', bonus=False59
  2.   File "", line 1 
  3. SyntaxError: positional argument follows keyword argument 

Python解釋器提示出錯(cuò)了,因?yàn)槲恢脜?shù)跟在了關(guān)鍵字參數(shù)后面。

說(shuō)明

無(wú)論是位置參數(shù)還是關(guān)鍵字參數(shù),都是函數(shù)在調(diào)用時(shí)使用的說(shuō)法,也就是實(shí)參,稱它們?yōu)槲恢脤?shí)參和關(guān)鍵字參數(shù)更準(zhǔn)確。

2、參數(shù)的默認(rèn)值

在創(chuàng)建自定義函數(shù)時(shí),可以給參數(shù)提供默認(rèn)值。如果在調(diào)用函數(shù)時(shí)指定了參數(shù)的值,那么使用該值,否則使用默認(rèn)值。在之前的student_grade()基礎(chǔ)上稍作修改,給has_bonus參數(shù)提供一個(gè)默認(rèn)值:False,即默認(rèn)沒(méi)有10分的獎(jiǎng)勵(lì)分:

  1. >>> def student_grade_v1(name, grade, has_bonus=False): 
  2. ...     if has_bonus: 
  3. ...         grade += 10 
  4. ...     if grade > 100
  5. ...         grade = 100 
  6. ...     print('{name}的成績(jī)?yōu)閧grade}'.format(name=name, grade=grade)) 
  7. ...  

在調(diào)用函數(shù)時(shí),可以不指定has_bonus參數(shù)的值:

  1. >>> student_grade_v1('Ming'59
  2. Ming的成績(jī)?yōu)?span id="nogyzsj" class="number">59 

當(dāng)然也可以指定has_bonus參數(shù)的值,此時(shí)has_bonus的值為指定的值,可以使用關(guān)鍵字參數(shù)或者位置參數(shù):

  1. >>> student_grade_v1('Ming'59True
  2. Ming的成績(jī)?yōu)?span id="eulkggi" class="number">69 
  3. >>> student_grade_v1('Ming'59, bonus=True
  4. Ming的成績(jī)?yōu)?span id="9wnlfig" class="number">69 

下面是一個(gè)有更多參數(shù)默認(rèn)值的示例:

  1. >>> def personal_info(name, gender='女', pet='狗', has_glasses=False): 
  2. ...     tag = '他' if gender == '男' else '她'   # 用三目運(yùn)算符確定性別稱呼 
  3. ...     print('{0}是個(gè){1}孩。'.format(name, gender)) 
  4. ...     print('{}最喜歡的寵物是{}。'.format(tag, pet)) 
  5. ...     if has_glasses: 
  6. ...         print('{0}戴眼鏡。'.format(tag)) 
  7. ...     else
  8. ...         print('{0}不戴眼鏡。'.format(tag)) 
  9. ...  

這個(gè)函數(shù)比之前的要復(fù)雜一些,它會(huì)根據(jù)用戶提供的信息,打印一些個(gè)性化的句子。因?yàn)榇撕瘮?shù)有很多參數(shù),所以合法的調(diào)用方式有很多,以下是其中的一些:

  1. >>> personal_info('梅梅')   # 一個(gè)位置參數(shù),即名字,其他參數(shù)使用默認(rèn)值 
  2. 梅梅是個(gè)女孩。 
  3. 她最喜歡的寵物是狗。 
  4. 她不戴眼鏡。 
  5. >>> personal_info(name='梅梅')   # 一個(gè)關(guān)鍵字參數(shù) 
  6. 梅梅是個(gè)女孩。 
  7. 她最喜歡的寵物是狗。 
  8. 她不戴眼鏡。 
  9. >>> personal_info('梅梅', has_glasses=True)  # 一個(gè)關(guān)鍵字參數(shù)和一個(gè)位置參數(shù) 
  10. 梅梅是個(gè)女孩。 
  11. 她最喜歡的寵物是狗。 
  12. 她戴眼鏡。 
  13. >>> personal_info(name='小明', gender='男')   # 兩個(gè)關(guān)鍵字參數(shù) 
  14. 小明是個(gè)男孩。 
  15. 他最喜歡的寵物是狗。 
  16. 他不戴眼鏡。 
  17. >>> personal_info(pet='貓', name='梅梅')   # 兩個(gè)關(guān)鍵字參數(shù) 
  18. 梅梅是個(gè)女孩。 
  19. 她最喜歡的寵物是貓。 
  20. 她不戴眼鏡。 
  21. >>> personal_info('小明''男''貓'True)  # 四個(gè)位置參數(shù) 
  22. 小明是個(gè)男孩。 
  23. 他最喜歡的寵物是貓。 
  24. 他戴眼鏡。 

如果對(duì)Python開(kāi)發(fā)感興趣或者想要深入學(xué)習(xí)的現(xiàn)在可以免費(fèi)領(lǐng)取學(xué)習(xí)大禮包哦(點(diǎn)擊領(lǐng)取80G課程資料 備注:領(lǐng)資料)。

文章“【Python基礎(chǔ)知識(shí)】Python函數(shù)的關(guān)鍵字參數(shù)和參數(shù)的默認(rèn)值”已幫助

>>本文地址:http://m.nfbqydst.cn/zhuanye/2020/61672.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷(xiāo)互聯(lián)網(wǎng)營(yíng)銷(xiāo)
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME