python中以函數(shù)作為參數(shù)(回調函數(shù))的實現(xiàn)方法
python以函數(shù)作為參數(shù)(回調函數(shù))
純粹是自己學習總結之用?;卣{函數(shù)搭配了元組和字典。在注釋中已經(jīng)標明有些需要注意的細節(jié)。
#以函數(shù)作為參數(shù)
def func_callback(func1,args):
print("調用函數(shù):")
func1(args)
print("____________________")
def f1(x):
print("回調函數(shù)啟動:",x)
func_callback(f1,100)
def func_callback_tuple(func2,*args):
print("回調函數(shù)和元組相結合:")
func2(args)#這里的“*”號可以有,也可以省略。
print("____________________")
def f2(*x):
print("帶tuple參數(shù)回調函數(shù)啟動:")
print(type(x),x)
func_callback_tuple(f2,99,98,97,96)
def func_callback_dic(func,**kwargs):
print("回調函數(shù)和字典相結合:")
func(**kwargs)#兩個星號要加上,不能省略
print("____________________")
def f3(**x):
print("帶tuple參數(shù)回調函數(shù)啟動:")
print(type(x),x)
func_callback_dic(f3,aa=1,bb=2,cc=3)輸出為:

python函數(shù)的參數(shù)類型
在調用函數(shù)時,信息可以作為參數(shù)傳遞給函數(shù),參數(shù)在函數(shù)名后的括號內指定。python有以下四種參數(shù)傳遞類型:
- 必需參數(shù)
- 關鍵字參數(shù)
- 默認參數(shù)
- 不定長參數(shù)
一、必須參數(shù)
必需參數(shù)須以正確的順序傳入函數(shù),調用時的數(shù)量必須和聲明時的一樣。
def printme( str ):
? ?
? ?print (str)
? ?return
printme("Hello World!")上述程序在調用printme()函數(shù)時必須傳入一個字符串參數(shù),負責程序在運行時會報錯。
二、關鍵字參數(shù)
關鍵字參數(shù)在調用時通過關鍵字來確定傳入的參數(shù),并不需要一定保證參數(shù)的順序和聲明函數(shù)時的參數(shù)順序一致。
def my_function(child3, child2, child1):
? print("The youngest child is " + child3)
?
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")三、默認參數(shù)
默認參數(shù)是在函數(shù)聲明時就給形參賦值,在調用函數(shù)時如果沒有給參數(shù)傳遞值那么就默認使用聲明時所賦的值。
def my_function(name,country = "China"):
? print(name + "is from" + country)
my_function("張三")
my_function("張三","中國")四、不定長參數(shù)
有時候可能需要一個函數(shù)能處理比當初聲明時更多的參數(shù),這些參數(shù)叫做不定長參數(shù),基本語法如下:
加了星號 * 的參數(shù)會以元組(tuple)的形式導入,存放所有未命名的變量參數(shù)。
def printinfo( arg1, *vartuple ):
? ?"打印任何傳入的參數(shù)"
? ?print ("輸出: ")
? ?print (arg1)
? ?print (vartuple)
?
# 調用printinfo 函數(shù)
printinfo( 70, 60, 50 )加了兩個星號 ** 的參數(shù)會以字典的形式導入。
def printinfo( arg1, **vardict ):
? ?"打印任何傳入的參數(shù)"
? ?print ("輸出: ")
? ?print (arg1)
? ?print (vardict)
?
# 調用printinfo 函數(shù)
printinfo(1, a=2,b=3)總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python使用xlrd實現(xiàn)檢索excel中某列含有指定字符串記錄的方法
這篇文章主要介紹了python使用xlrd實現(xiàn)檢索excel中某列含有指定字符串記錄的方法,涉及Python使用xlrd模塊檢索Excel的技巧,非常具有實用價值,需要的朋友可以參考下2015-05-05
Python使用logging結合decorator模式實現(xiàn)優(yōu)化日志輸出的方法
這篇文章主要介紹了Python使用logging結合decorator模式實現(xiàn)優(yōu)化日志輸出的方法,實例分析了Python使用logging模塊操作日志的相關技巧,需要的朋友可以參考下2016-04-04
python調用cmd命令時遇到的路徑空格問題和中文亂碼的解決
這篇文章主要介紹了python調用cmd命令時遇到的路徑空格問題和中文亂碼的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
Pycharm導入anaconda環(huán)境的教程圖解
這篇文章主要介紹了Pycharm導入anaconda環(huán)境的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
如何使用Python Dotenv庫管理環(huán)境變量
使用python-dotenv庫可以方便地管理環(huán)境變量,避免將敏感信息硬編碼在代碼中,這篇文章主要介紹了如何使用Python Dotenv庫管理環(huán)境變量,需要的朋友可以參考下2025-02-02

