日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python中以函數作為參數(回調函數)的實現方法_python

作者:P&C#堅持 ? 更新時間: 2023-02-10 編程語言

python以函數作為參數(回調函數)

純粹是自己學習總結之用?;卣{函數搭配了元組和字典。在注釋中已經標明有些需要注意的細節。

#以函數作為參數
 
def func_callback(func1,args):
    print("調用函數:")
    func1(args)
    print("____________________")
 
def f1(x):
    print("回調函數啟動:",x)
 
func_callback(f1,100)
 
def func_callback_tuple(func2,*args):
    print("回調函數和元組相結合:")
    func2(args)#這里的“*”號可以有,也可以省略。
    print("____________________")
 
def f2(*x):
    print("帶tuple參數回調函數啟動:")
    print(type(x),x)
 
func_callback_tuple(f2,99,98,97,96)
 
def func_callback_dic(func,**kwargs):
    print("回調函數和字典相結合:")
    func(**kwargs)#兩個星號要加上,不能省略
    print("____________________")
 
def f3(**x):
    print("帶tuple參數回調函數啟動:")
    print(type(x),x)
 
func_callback_dic(f3,aa=1,bb=2,cc=3)

輸出為:

python函數的參數類型

在調用函數時,信息可以作為參數傳遞給函數,參數在函數名后的括號內指定。python有以下四種參數傳遞類型:

  • 必需參數
  • 關鍵字參數
  • 默認參數
  • 不定長參數

一、必須參數

必需參數須以正確的順序傳入函數,調用時的數量必須和聲明時的一樣。

def printme( str ):
? ?
? ?print (str)
? ?return
printme("Hello World!")

上述程序在調用printme()函數時必須傳入一個字符串參數,負責程序在運行時會報錯。

二、關鍵字參數

關鍵字參數在調用時通過關鍵字來確定傳入的參數,并不需要一定保證參數的順序和聲明函數時的參數順序一致。

def my_function(child3, child2, child1):
? print("The youngest child is " + child3)
?
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

三、默認參數

默認參數是在函數聲明時就給形參賦值,在調用函數時如果沒有給參數傳遞值那么就默認使用聲明時所賦的值。

def my_function(name,country = "China"):
? print(name + "is from" + country)
my_function("張三")
my_function("張三","中國")

四、不定長參數

有時候可能需要一個函數能處理比當初聲明時更多的參數,這些參數叫做不定長參數,基本語法如下:

加了星號 * 的參數會以元組(tuple)的形式導入,存放所有未命名的變量參數。

def printinfo( arg1, *vartuple ):
? ?"打印任何傳入的參數"
? ?print ("輸出: ")
? ?print (arg1)
? ?print (vartuple)
?
# 調用printinfo 函數
printinfo( 70, 60, 50 )

加了兩個星號 ** 的參數會以字典的形式導入。

def printinfo( arg1, **vardict ):
? ?"打印任何傳入的參數"
? ?print ("輸出: ")
? ?print (arg1)
? ?print (vardict)
?
# 調用printinfo 函數
printinfo(1, a=2,b=3)

總結

原文鏈接:https://blog.csdn.net/acflair/article/details/86710706

欄目分類
最近更新