日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Python初識:函數的參數

來源: 責編: 時間:2023-11-08 17:02:44 253觀看
導讀哈嘍,大家好,我是了不起。今天給大家帶來python函數的參數。一、函數參數的分類函數的參數分為兩類:形參及實參。形參:形參是在創建過程中聲明的參數,如果不給形參傳入特定的實參,形參就沒有實際的意義 實參:實參是在函數的

哈嘍,大家好,我是了不起。今天給大家帶來python函數的參數。yJp28資訊網——每日最新資訊28at.com

yJp28資訊網——每日最新資訊28at.com

一、函數參數的分類

函數的參數分為兩類:形參及實參。yJp28資訊網——每日最新資訊28at.com

形參:形參是在創建過程中聲明的參數,如果不給形參傳入特定的實參,形參就沒有實際的意義 實參:實參是在函數的調用過程中傳入的參數,這個參數具有實際意義,具有具體的數據類型。yJp28資訊網——每日最新資訊28at.com

舉例:yJp28資訊網——每日最新資訊28at.com

def fn(n1,n2):  # 在此過程中定義的參數就是形參    print(n1 + n2)fn(10,20)  # 在此過程中傳入的變量就是實參

二、形參是對實參的值拷貝

形參與實參可以重名,但是其表示的是兩個變量。yJp28資訊網——每日最新資訊28at.com

舉例:yJp28資訊網——每日最新資訊28at.com

def fn(num1):    print(num1)    num1 = 20    print(num1)num1 = 10fn(num1)print(num1)
  • 對于不可變類型:參考上例,當 num1 的值在函數的內部進行重新賦值時,在外部進行重新打印,打印的是原來的值,原因是在參數內部進行了形參的重指向,實參的值沒有發生改變。
  • 對于可變類型:參考上例,num1 變為可變類型,當 num1 的值在內部使用append()方法進行添加元素時,在函數外打印 num1 ,打印的是添加后的列表,因為沒有進行重指向,實參及形參指向的是同一個id

三、實參的分類

實參可以分為:位置實參及關鍵字實參。yJp28資訊網——每日最新資訊28at.com

位置實參:根據位置進行參數的傳遞。yJp28資訊網——每日最新資訊28at.com

舉例:yJp28資訊網——每日最新資訊28at.com

#Python學習交流:711312441def fn(a,b,c):    print(a)    print(b)    print(c)fn(1,2,3)

像上方這樣傳入參數時,實參的傳入是按照參數的位置進行傳遞的,如果改變實參的位置,那么傳入參數時就會改變傳給形參的值,這樣傳入參數時的參數就叫做位置實參:yJp28資訊網——每日最新資訊28at.com

 fn(a=1,b=2,c=3)

像上方函數的調用這樣,如果在調用函數時指名道姓的傳入參數,那么不論實參的位置如何變化,形參的得到的值都不會發生變化,這種形式的實參就叫做關鍵字實參。yJp28資訊網——每日最新資訊28at.com

注:yJp28資訊網——每日最新資訊28at.com

  • 位置實參是一定按照位置順序進行參數的傳遞的,如果傳遞實參時,實參的順序發生變化,那么形參的到的值也會發生變化。
  • 關鍵字實參采用的是指明道姓的賦值,所以實參進行位置變化時不會改變形參接收的值
  • 在既有關鍵字實參,又有位置實參時,肯定是先進行位置參數的傳值,再進行關鍵字實參的傳值(位置參數在前,關鍵字參數在后)

四、形參的分類

形參的分類可以分為六種:yJp28資訊網——每日最新資訊28at.com

  • 帶有默認值的位置形參
  • 不帶默認值的位置形參
  • 帶有默認值的關鍵字形參
  • 不帶默認值的關鍵字形參
  • 可變長度的位置形參
  • 可變長度的關鍵字形參

實例:yJp28資訊網——每日最新資訊28at.com

def fn(a,b,c=10,*,d,e=20,**kwargs)

1.帶及不帶默認值的位置形參

實例中,在 * 號之前統稱為位置形參,位置形參可以由位置實參及關鍵字實參進行傳值。yJp28資訊網——每日最新資訊28at.com

  • 不帶默認值的位置形參:不帶有默認值的位置形參必須要實參進行傳值,如果實參不傳值就會報錯
  • 帶有默認值的位置形參:帶有默認值的關鍵字位置實參可以用實參進行傳值,也可以不使用實參進行傳值,不使用實參進行傳值時,使用默認值作為其值

2.帶有及不帶默認值的關鍵字形參

實例中 * 以后的參數都是關鍵字形參,在使用關鍵字形參時,必須使用關鍵字實參進行傳值,不使用會報錯。yJp28資訊網——每日最新資訊28at.com

  • 不帶默認值的關鍵字形參:不帶有默認值的關鍵字形參必須使用關鍵字實參進行傳值,如果不傳參數就會報錯
  • 帶有默認值的關鍵字形參:帶有默認值的關鍵字形參可以用關鍵字實參進行傳值,也可以不傳值,不傳值時使用默認值作為其值。

3.可變長度的形參:

可變長度位置形參:yJp28資訊網——每日最新資訊28at.com

  • 其位置在位置形參及關鍵字形參之間,當傳入的位置實參數量多于位置形參時,多出部分的位置形參會全部存儲在可變長度的位置形參中
  • 可變長度的關鍵字形參就是例子中的 * ,只是給這個形參添加了一個名字,這個名字可以自定義,但是約定俗成的命名為 *args

可變長度的關鍵字形參:yJp28資訊網——每日最新資訊28at.com

  • 可變長度的關鍵字形參位于參數列表的末尾,當傳入的關鍵字實參多與關鍵字形參時,多出的部分就會被儲存在可變長度的關鍵字形參中,以元組進行存儲
  • 可變長度的關鍵字形參使用 ** 進行表示,此時也需要給關鍵字形參添加一個名字,這個名字可以自定義,但是約定俗成的稱為 **kwargs,以字典進行存儲

形參聲明時,其聲明順序是有規定的,順序為:yJp28資訊網——每日最新資訊28at.com

無默認值位置形參 --> 有關鍵字位置形參 --> 可變長度的位置形參 --> 無默認值的關鍵字形參 --> 有默認值的關鍵字形參 --> 可變長度的關鍵字形參yJp28資訊網——每日最新資訊28at.com

常用的參數列表類型:yJp28資訊網——每日最新資訊28at.com

-- (*args,**kwargs)-- (a,*args)-- (a,b=10,**kwargs)        -- (a,*,b,**kwargs)-- (a,*args,b,**kwargs)

在使用形參時要按照位置進行傳參,即使是有關鍵字也要盡量按照位置進行傳參,這樣更加清晰。yJp28資訊網——每日最新資訊28at.com

五、打散機制

在使用可變長形參時,當傳入的值多余需要的值時會把多余的參數放進可變長位置形參 及 可變長關鍵字形參,但是如果直接傳入一個元組及字典中如何直接將其變為元組及字典呢?yJp28資訊網——每日最新資訊28at.com

此時需要使用 * 及 ** 的打散機制*單列容器 會打散單列容器。yJp28資訊網——每日最新資訊28at.com

**雙列容器 會打散雙列容器:yJp28資訊網——每日最新資訊28at.com

print(*(a,b,c))  --->  (a b c)print(**{a:1,b:2})  ---> {a:1,b:2}

好了,今天就介紹到這兒。yJp28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-17762-0.htmlPython初識:函數的參數

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 使用 Gorm 進行事務和錯誤處理

下一篇: 解析Python的深淺拷貝機制

標簽:
  • 熱門焦點
  • 鴻蒙OS 4.0公測機型公布:甚至連nova6都支持

    華為全新的HarmonyOS 4.0操作系統將于今天下午正式登場,官方在發布會之前也已經正式給出了可升級的機型產品,這意味著這些機型會率先支持升級享用。這次的HarmonyOS 4.0支持
  • 一加Ace2 Pro官宣:普及16G內存 引領24G

    一加官方今天繼續為本月發布的新機一加Ace2 Pro帶來預熱,公布了內存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引領,還有呢?#一加Ace2Pro#,2023 年 8 月,敬請期待。”同時
  • K60至尊版狂暴引擎2.0加持:超177萬跑分斬獲性能第一

    Redmi的后性能時代戰略發布會今天下午如期舉辦,在本次發布會上,Redmi公布了多項關于和聯發科的深度合作,以及新機K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 小米官宣:2023年上半年出貨量中國第一!

    今日早間,小米電視官方微博帶來消息,稱2023年小米電視上半年出貨量達到了中國第一,同時還表示小米電視的巨屏風暴即將開始。“公布一個好消息2023年#小米電視上半年出貨量中國
  • CSS單標簽實現轉轉logo

    轉轉品牌升級后更新了全新的Logo,今天我們用純CSS來實現轉轉的新Logo,為了有一定的挑戰性,這里我們只使用一個標簽實現,將最大化的使用CSS能力完成Logo的繪制與動畫效果。新logo
  • Golang 中的 io 包詳解:組合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是對Reader和Writer接口的組合,
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 英特爾Xe-HP項目終止,將專注Xe-HPC/HPG系列顯卡

    據10 月 31 日消息報道,英特爾高級副總裁兼加速計算系統和圖形事業部總經理 表示,Xe-HP“ Arctic Sound” 系列服務器 GPU 已經應用于 oneAPI devcloud 云服
  • 與兆芯合作 聯想推出全新旗艦版筆記本電腦開天N7系列

    聯想與兆芯合作推出全新聯想旗艦版筆記本電腦開天 N7系列。這個系列采用兆芯KX-6640MA處理器平臺,KX-6640MA 處理器是采用了陸家嘴架構,16nm 工藝,4 核 4 線
Top 主站蜘蛛池模板: 什邡市| 东山县| 贵港市| 黄石市| 辽中县| 璧山县| 奉节县| 咸丰县| 穆棱市| 清新县| 中方县| 商南县| 长沙市| 黑山县| 会宁县| 邢台市| 江达县| 龙海市| 白沙| 察雅县| 松原市| 思南县| 中阳县| 潞西市| 江陵县| 建宁县| 天全县| 珲春市| 甘谷县| 栾城县| 盐池县| 朝阳区| 新竹县| 乳源| 湄潭县| 平罗县| 枞阳县| 澄江县| 九寨沟县| 信阳市| 南和县|