如何遍历命名关键字参数?

问题描述

如何在Python函数中遍历关键字参数? 例如,说我有以下方法:

class Car():
    def start_engine(self,key,*,driver=None,passenger=None,gas=None):
        for k,v in <ITERATE_OVER_KEYWORD_ARGUMENT>:
            if v is not None:
                print(f"KEY: {k}    VALUE:{v}")

c = Car()
c.start_engine(key,driver="Bob",passenger="Alice")

应打印:

driver: Bob   
passenger: Alice

我不想使用**kwargs,因为我想命名参数。 我不能只打电话给locals(),因为我还有其他参数。

我想我可以创建一个包含**kwargs的辅助函数,然后构建一个字典,然后使用所有关键字参数调用该函数,但这似乎很麻烦。


def to_dict(**kwargs):
    d = {k:v for k,v in kwargs.items() if v is not None}
    return d

那行得通,但似乎是完成我想做的事情的一种奇怪方法。

是否存在一种可接受的方法来遍历关键字参数,还是因为某些原因而使Python变坏了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)