網站首頁 編程語言 正文
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
相關推薦
- 2022-04-26 Entity?Framework?Core實現Like查詢詳解_實用技巧
- 2022-06-12 C語言?深入探究動態規劃之區間DP_C 語言
- 2022-07-01 Keras實現Vision?Transformer?VIT模型示例詳解_python
- 2022-04-01 SQL?Server?事務,異常和游標詳解_MsSql
- 2022-04-10 python中的單向鏈表實現_python
- 2022-04-12 一篇文章帶你了解python中的typing模塊和類型注解_python
- 2022-05-12 Kotlin set集合去重,獲取元素可變set集合,set與list轉換
- 2022-09-15 Python中eval()函數的詳細使用教程_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支