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

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

Python初識:函數的參數

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

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

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

一、函數參數的分類

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

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

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

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

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

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

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

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

三、實參的分類

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

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

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

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

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

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

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

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

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

四、形參的分類

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

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

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

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

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

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

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

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

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

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

3.可變長度的形參:

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

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

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

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

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

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

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

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

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

五、打散機制

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

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

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

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

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

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

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

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

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

標簽:
  • 熱門焦點
  • K60 Pro官方停產 第三方瞬間漲價

    雖然沒有官方宣布,但Redmi的一些高管也已經透露了,Redmi K60 Pro已經停產且不會補貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機在停產之后
  • 2023年Q2用戶偏好榜:12+256G版本成新主流

    3月份的性能榜、性價比榜和好評榜之后,就要輪到2023年的第二季度偏好榜了,上半年的新機潮已經過去,最明顯的肯定就是大內存和存儲的機型了,另外部分中端機也取消了屏幕塑料支架
  • 跑分安卓第一!Redmi K60至尊版8月發布!盧偉冰:目標年度性能之王

    8月5日消息,Redmi K60至尊版將于8月發布,在此前舉行的戰略發布會上,官方該機將搭載搭載天璣9200+處理器,安兔兔V10跑分超177萬分,是目前安卓陣營最高的分數
  • 三分鐘白話RocketMQ系列—— 如何發送消息

    我們知道RocketMQ主要分為消息 生產、存儲(消息堆積)、消費 三大塊領域。那接下來,我們白話一下,RocketMQ是如何發送消息的,揭秘消息生產全過程。注意,如果白話中不小心提到相關代
  • Python異步IO編程的進程/線程通信實現

    這篇文章再講3種方式,同時講4中進程間通信的方式一、 Python 中線程間通信的實現方式共享變量共享變量是多個線程可以共同訪問的變量。在Python中,可以使用threading模塊中的L
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大“烤”之下的除了眾生,還有各大企業發布的ESG報告。ESG是“環境保
  • AI芯片初創公司Tenstorrent獲三星和現代1億美元投資

    Tenstorrent是一家由芯片行業資深人士Jim Keller領導的加拿大初創公司,專注于開發人工智能芯片,該公司周三表示,已經從現代汽車集團和三星投資基金等
  • SN570 NVMe SSD固態硬盤 價格與性能兼具

    SN570 NVMe SSD固態硬盤是西部數據發布的最新一代WD Blue系列的固態硬盤,不僅閃存技術更為精進,性能也得到了進一步的躍升。WD Blue SN570 NVMe SSD的包裝外
  • 利用職權私自解除被封帳號 Meta開除20多名員工

    11月18日消息,據外媒援引知情人士表示,過去一年時間內,Facebook母公司Meta解雇或處罰了20多名員工以及合同工,指控這些人通過內部系統以不當方式重置用戶帳號,其
Top 主站蜘蛛池模板: 朝阳县| 贞丰县| 元谋县| 华容县| 顺昌县| 绥棱县| 博爱县| 鹿泉市| 包头市| 揭东县| 旬阳县| 南阳市| 罗平县| 徐汇区| 尼木县| 潜山县| 靖边县| 乌苏市| 乃东县| 伊川县| 延吉市| 乌恰县| 青龙| 云林县| 万山特区| 长子县| 黄龙县| 阿巴嘎旗| 瑞昌市| 荔浦县| 双鸭山市| 公主岭市| 新疆| 海林市| 松原市| 甘谷县| 合川市| 塔河县| 徐闻县| 天峻县| 利川市|