Python學習第37課-自定義函數的參數

Python Numbers 時問新 2019-07-06

【每天幾分鐘,從零入門python編程的世界!】

自定義函數的參數

Python自定義函數的參數類型包括必需參數、默認參數、關鍵字參數、不定長參數,我們一般主要使用的是必需參數和默認參數。

Python學習第37課-自定義函數的參數


●必需參數

必需參數是調用時必需要傳入的參數,不然Python運行時會報語法錯誤。

必需參數傳入時必須按照自定義函數定義時的順序和數量傳遞。

實例1:

#定義函數

def sub(num1,num2):

num1-num2

#調用函數

sub()

sub(8)

#以上兩種函數調用都會報錯,正確的調用為sub(8,6)

●默認參數

自定義函數聲明時有賦值的參數叫默認參數,該賦值就是參數的默認值。函數聲明時沒有賦值的參數就是必需參數。

Python學習第37課-自定義函數的參數


●參數調用

①必需參數就是函數調用時必須要傳遞值。

②默認參數在調用時可以不傳遞值,如果不傳遞值,則函數執行時調用默認值。

③必需參數也可以在調用時賦值。

④默認參數也可以在調用時重新賦值,此時函數執行時調用新的賦值。

實例2:

#聲明函數

def super_add(num1,num2,num3=10000):

res=(num1+num2)*num3

return print(res)

#調用函數

①super_add(10,20)

#運行結果:300000

說明:num1和num2就是必需參數,調用時必需要傳入值,num3帶默認值10000,就是默認參數,函數調用時可以不寫,不寫就默認為10000。

②super_add(10,20,num3=2)

#運行結果:60

說明:默認參數num3在調用時重新賦值為2,函數執行時把2傳進函數中執行。

③super_add(num1=15,num2=5,num3=2)

#運行結果:40

Python學習第37課-自定義函數的參數


●參數傳遞

糾正一點,Python中,變量沒有類型,類型屬於對象。

a=[1,2,3]

a="hello"

以上代碼中,[1,2,3] 是 List 類型,"hello" 是 String 類型,而變量 a 沒有類型,它僅僅是一個對象的引用(一個指針),可以是指向 List 類型對象,也可以是指向 String 類型對象。

可更改(mutable)與不可更改(immutable)對象

在 python 中,strings(字符串), tuples(元組), 和 numbers(數字) 是不可更改的對象,而 list(列表),dict(字典) 等則是可以修改的對象。

Python函數調用時如果傳遞的參數類型是不可變對象,則不會對函數外部變量產生影響,如果傳遞的參數類型是可變對象,則會改變函數外部的變量的值。

我是時問新,歡迎關注我。跟我一起從零開始學習Python,每天花一點時間,開啟python編程新世界的大門,領略新的風光,讓人生多一種可能!

相關推薦

推薦中...