博主簡介:原互聯網大廠tencent員工,網安巨頭Venustech員工,阿裡雲開發社區專家博主,微信公眾號java基礎筆記優質創作者,csdn優質創作博主,創業者,知識共享者,歡迎關注,點贊,收藏。
實際開發過程中,經常會遇到很多完全相同或者非常相似的操作,這時,可以將實現類似操作的代碼封裝為函數,然後在需要的地方調用該函數。這樣不僅可以實現代碼的復用,還可以使代碼更有條理性,增加代碼的可靠性。下面我們來介紹一下python的函數位置參數相關內容。
在定義函數時,可以為函數的參數設置默認值,這個參數被稱為默認值參數。帶有默認值參數的函數。
在調用帶有默認值參數的函數時,可以不用為設置了默認值的形參進行傳值,此時函數將會直接使用函數定義時設置的默認值,也可以通過顯式賦值來替換其默認值。定義語法如下:
def 函數名(…,形參名=默認值):
函數體
例:默認值參數。
def printinfo( name, age = 35 ): #定義函數,打印任何傳入的字符串
print ("名字: ", name)
print ("年齡: ", age)
return
#調用printinfo函數
print(printinfo.__defaults__) #輸出函數默認值參數
printinfo("root" ,50) #顯式賦值
print ("------------------------")
printinfo("root" ) #使用默認值參數
結果如下。
可以使用“函數名.defaults”隨時查看函數所有默認值參數的當前值,其返回值為一個元組,其中的元素依次表示每個默認值參數的當前值。
def printinfo( name, age = 35 ): #定義函數,打印任何傳入的字符串
print ("名字: ", name)
print ("年齡: ", age)
return
print(printinfo.__defaults__)
在定義帶有默認值參數的函數時,默認值參數必須出現在函數形參列表的最右端,否則會提示語法錯誤。
例如:以下函數的定義是錯誤的:
def f(a = 1, b, c = 3):
print(a, b, c)
結果如下。
多次調用函數並不為默認值參數傳遞值時,默認值參數只在定義時進行一次解釋和初始化,對於列表、字典這樣可變類型的默認值參數,這一點可能會導致邏輯錯誤。因此,一般來說,要避免使用列表、字典、集合或其他可變數據類型作為函數參數的默認值。
例:閱讀以下程序,分析運行結果。
def demo(newitem,old_list = []):
old_list.append(newitem)
return old_list
print(demo('5',[1,2,3,4]))
print(demo('a'))
print(demo('b'))
結果如下。
如果在定義函數時某個參數的默認值為一個變量,那麼參數的默認值只依賴於函數定義時該變量的值。例:運行以下程序,分析運行結果。
a = 1
def f(n = a):
print(n)
a = 5
f()
結果如下。
1、廖雪峰的官網
2、python官網
3、Python編程案例教程
以上就是就是關於Python的函數位置參數相關知識,可以參考一下,覺得不錯的話,歡迎點贊、收藏、在看,歡迎微信搜索關注java基礎筆記,後面會不斷更新相關知識,大家一起進步。