Python函式中的形參實參講解

2021-09-27 02:25:33 字數 1914 閱讀 3024

1、形參和實參的區別

形參就是形式上的引數,可以理解為數學的x,沒有實際的值,通過別人賦值後才有意義。相當於變數。

實參就是實際意義上的引數,是乙個實際存在的引數,可以是字串或是數字等。

2、引數型別

位置引數、預設引數、可變引數、關鍵字引數

位置引數

呼叫函式時,必須將函式呼叫中的每個實參都關聯到函式定義中的乙個形參。關聯方式是基於實參的順序,這被稱作位置實參

def getinfo(name,age):

print('姓名:',name,'年齡:',age)

getinfo('westos',11) #實參傳輸順序與形參順序對應

getinfo(11,'westos') #實參傳輸順序與形參接收順序不對應,形參對應值錯誤

getinfo(age=11,name='westos') #實參傳遞時,加上形參對應項名稱,可正確傳輸

例項:

實參傳輸順序與形參順序對應

例項:

例項:

例項:

在編寫函式時,可以給每個形參設定乙個固定值,即為預設值。

在呼叫函式給形參提供實參時,就使用實參值,否則,使用實參的預設值,因此,給形參指定預設值後,在函式呼叫中省略相應的實參。

def mypow(x,y=2):  #形參x接收傳遞過來的實參值,形參y設預設值為2,如果有傳送過來的實參值則賦給形參y,如果沒實參傳給y則形參y取其預設值

print(x ** y) #列印x的y次方

mypow(2,3) #呼叫函式,傳遞實參2,3

mypow(2) #呼叫函式,只傳遞乙個實參值給x

例項:

單個 *

(1)如:*parameter是用來接受任意多個引數並將其放在乙個元組中。

例項:

結果:

(2)函式在呼叫多個引數時,在列表、元組、集合、字典及其他可迭代物件作為實參,並在前面加 *

如 :* (1,2,3)直譯器將自動進行解包然後傳遞給多個單變數形參(引數個數要對應相等),也可用中*parameter是用來做形參,接受解包後的任意多個引數並將其放在乙個元組中。

例項:

兩個 **

如: **parameter用於接收類似於關鍵引數一樣賦值的形式的多個實參放入字典中(即把該函式的引數轉換為字典)。

例項:

python函式的形參實參

def fn 形參們 pass 形參 定義函式,在括號內宣告的變數名,用來結束外界傳來的值 實參 呼叫函式,在括號內傳入的實際值,值可以為常量 變數 表示式或三者的組合 注 形參隨著函式的呼叫而產生,隨著呼叫結束而銷毀 有特例 位置實參 必須按照順序給形參傳值 關鍵字實參 按照關鍵字給形參傳值,所以...

python實參 python的形參和實參

python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。函式引數的定義有四種形式 1.f arg...

關於形參實參(python)

一直以來只知道,如果需要通過乙個方法來改變主函式裡面的某乙個值,且這個值將會用到別的函式裡面的話。我們需要呼叫乙個方法函式且把實參傳遞給形參,同時該函式需要返回乙個值。但是也有特殊情況的存在。可以通過特殊的方式在函式內部修改實參的值。查詢到了資料如下 def modify v 修改列表元素值 v 0...