有字典和方法。
ALL_DIC = {"A":"a", "B":"b", "C":"c", "D":"d", "E":"e"}
def something(A=None, B=None, D=None):
print(A,B,D)
something(**ALL_DIC)
发生以下错误:
Traceback (most recent call last):
File "D:/crawl_master/nolja.py", line 186, in <module>
something(**ALL_DIC)
TypeError: something() got an unexpected keyword argument 'C'
所以我使用了以下内容, 但我不喜欢我想知道是否有更好的方法或库。
import inspect
args, _, _, values = inspect.getargspec(something)
for key in list(ALL_DIC.keys()):
if key not in args:
del ALL_DIC[key]
something(**ALL_DIC)
我想要一些建议。谢谢您阅读。
答案 0 :(得分:0)
一种更简单的方法是使something
接受可变关键字参数:
def something(A=None, B=None, D=None, **kwargs):
print(A,B,D)
,以便接受传递给something
的所有其他关键字参数(如果您不使用kwargs
,则将其忽略)。