python形參
⑴ python 形參 實參名稱一樣嗎
形參就是函數入口的參數,函數入口參數傳遞只有傳值與傳值兩種區別。傳值在python里就是以對象,比如數組或者是類來傳遞。至於實參,我印象中是傳遞常量吧。如果不是這樣,應該沒有實參的說法。是某些老師為了忽悠,編造出來的概念游戲。簡單變數應該是指相對對象來講的。在python里,只有對象與基本變數類型。簡單變數的說法在python里似乎也沒有意義。所以,忘記簡單變數與實參這樣的說法。
⑵ Python參數類型
上一期我們學習參數傳遞怎麼傳遞,也了解了參數的幾種類型。
首先,我們再來回顧一下,形參和實參:
形參是在定義函數時定義的,放在函數名後面的圓括弧里,可為空
實參是調用函數時為形參傳入具體的參數值
簡單總結一下,誰調用函數,誰就負責傳入參數。
好吶,本期我們來詳細學習函數幾種參數類型,大綱如下:
python函數的參數名是無意義的,Python允許在調用函數時通過通過名字來傳入參數值。
位置參數:按照形參位置傳入的參數
調用函數時,實參默認按位置順序傳遞的。同時實參個數也要和形參匹配
舉一個小栗子
如果實參的個數與形參不匹配時,調用函數運行就會報錯
Python中,形參與調用函數緊密聯系在一起的。
關鍵字參數:調用函數時,使形參名稱來傳遞參數,形式為「形參名=實參」
關鍵字參數,又叫命名參數,傳遞時無需考慮參數位置和順序
舉一個小栗子
默認參數:定義函數時,我們可以為形參提前設置具體的值。
在定義函數時,默認參數要放到位置等其他參數後面
在調用函數時,默認參數是可選的。如果傳入新值,則會覆蓋默認值
舉一個小栗子
注意,默認值不能位於位置參數前面,否則程序會報錯誤
不定長參數又名可變參數。
不定長參數指的是可變數量的參數,分兩種情況:
如果不定長參數後面,可以新增參數嗎?
我們通過例子來看,會發生什麼?
運行上面的程序,Python解釋器會報錯
原因是,形參a已經是不定長參數,我們調用的test(2,3,4)傳入的三個實參,系統自動把它們屬於形參a的值,形參b 和形參c就等於沒有值傳入,這時候系統就認為,調用函數的對象,參數沒有傳夠。
為了解決這一報錯,python引入了 強制命名參數
規定,調用不定參數後面有跟位置參數的函數時,傳入給位置參數時,必須要強制命名參進行傳參。
逆向參數收集針對的對象傳入函數的實參
調用函數時,如果實參是元組,列表或者字典,通過在實參前面加入星號,可以自動把元素進行隔開,然後再轉入給函數進行處理
舉一個小栗子
本期,我們詳細學習了參數幾種類型,為後面我們學習函數,打好基礎。
實踐是檢驗真理的過程,大家多動手練習練習,會有不一樣的奇妙旅程~
好吶,以上是本期內容,歡迎大佬們評論區指正~
⑶ python實參和形參的區別
形參設置可以為數字字元串變數、元組和字典等任意類型數據,元組形參是在變數名前加*,字典形參是在變數名前加**
例如:fun(var),fun(*tuple),fun(*list),fun(**dict)
實參接受也可以是任意類型數據,當接收數據為元組列表或者字典時,同樣是在數據變數前加*和**
例如:fun(x),fun(*seq),fun(*list),fun(**stu_info)
可以使用元組形參和字典形參接收冗餘或意外數據
例如:fun(var,*t_args,**dic_args)
但傳參時,數字和字元串形參必須傳值,元組和字典形參可不傳,原因為元組和字典數據可以是空元組或空字典,此特性正好適應處理冗餘數據
形參參數名若和生產數據中字典鍵名相同加大大提高編程效率和生產效率
例如:有字典dic={'name':'csdn','age':10,'top':1} ,有函數fun(name='name',age=0,top=0),則函數可以方便的獲取字典數據fun(**dic)
⑷ python 類可以作為函數形參嗎
請問,你是說類名嗎?
類可以進行分發的,不知道你說的是什麼意思
⑸ 簡述python函數中參數的幾種形態
在調用函數時,通常會傳遞參數,函數內部的代碼保持不變,針對 不同的參數處理不同的數據。
有位置傳參、關鍵字傳參、默認值參數、多值參數等。
1、參數傳遞
形參和實參:
形參:定義 函數時的 參數變數
實參:調用 函數時,使用的參數變數
參數傳遞的過程,就是 把實參的引用 傳遞給 形參 ,使用實參的值來執行函數體的過程。
在 Python 中,函數的 實參/返回值 都是是靠 引用 來傳遞來的
2、位置實參
按照參數位置,依次傳遞參數,這是最普通的方式。