首先我們要知道任何關于函式呼叫簽名的問題,都和inspect模塊有著關系
這個知識點涉及到兩個類:
Signature、
Parameter
創建一個簽名物件,這是個重點
1 from inspect import Signature, Parameter 2 3 params = [Parameter("name", Parameter.POSITIONAL_OR_KEYWORD, default="g"), 4 Parameter("gender", Parameter.POSITIONAL_OR_KEYWORD, default="man"), 5 Parameter("age", Parameter.KEYWORD_ONLY, default=25)] 6 7 sig = Signature(params) 8 print(sig) 9 10 11 def func(*args, **kwargs): 12 res = sig.bind(*args, **kwargs) 13 for name in res.arguments: 14 print(name, res.arguments[name]) 15 16 17 if __name__ == '__main__': 18 # 測驗呼叫 19 func('c', gender="m", age=18)
output:
(name='g', gender='man', *, age=25)
name c
gender m
age 18
其實具體的應用,什么場景下用比較合適,我目前還不是很清楚,后面遇到希望能回來再接著完善,先記錄下來
只有永不遏止的奮斗,才能使青春之花,即便是凋謝,也是壯麗地凋謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516351.html
標籤:其他
上一篇:SSM框架整合
下一篇:day49-JDBC和連接池05
