Python 如果不为null,则将参数传递给方法
仅当参数不为null时,如何在python中包含参数?如果我将有效的颜色传递给doSomething方法,下面的代码可以正常工作。现在color有时是null(就像java中的null,我猜在python中是None或nil),这是printColor抛出异常时的情况。我怎样才能避免这种情况Python 如果不为null,则将参数传递给方法,python,Python,仅当参数不为null时,如何在python中包含参数?如果我将有效的颜色传递给doSomething方法,下面的代码可以正常工作。现在color有时是null(就像java中的null,我猜在python中是None或nil),这是printColor抛出异常时的情况。我怎样才能避免这种情况 参数packageNamespace的类型无效,值:None response = client.printColor( color = color # Only include t
参数packageNamespace的类型无效,值:None
response = client.printColor(
color = color # Only include this param is not None/Null
)
response = client.printColor() # this works
您可以从dict中筛选出
None
s:
kwargs = {
'color': color,
⋮
}
response = client.printColor(**{k: v for k, v in kwargs.items() if v is not None})
或者做与函数相同的事情:
def none_to_default(**kwargs):
return {k: v for k, v in kwargs.items() if v is not None}
client.printColor(**none_to_default(
color=color,
⋮
))
不过,这可能不是解决问题的最佳方案。如果您可以显示实际函数['s documentation]。您可以从dict中筛选出
None
s:
kwargs = {
'color': color,
⋮
}
response = client.printColor(**{k: v for k, v in kwargs.items() if v is not None})
或者做与函数相同的事情:
def none_to_default(**kwargs):
return {k: v for k, v in kwargs.items() if v is not None}
client.printColor(**none_to_default(
color=color,
⋮
))
不过,这可能不是解决问题的最佳方案。如果您可以显示实际函数['s documentation],这将是一个理想的选择。您只需检查无并分派到函数的正确调用即可。如果你想发疯,像这样的事情可能会奏效;response=client.printColor(*arg),但我看不出有什么好处。
response=client.printColor(color)如果color不是其他的client.printColor()
是否属于某个公共包,我们可以查看其文档?这是一个示例方法,实际方法有大量参数,这些参数可以为null。所以我不能为每个可能的组合编写代码。正在查找泛型。@user93796是否可以修改client.printColor
方法?只需检查无并分派到函数的正确调用即可。如果你想发疯,像这样的事情可能会奏效;response=client.printColor(*arg),但我看不出有什么好处。response=client.printColor(color)如果color不是其他的client.printColor()
是否属于某个公共包,我们可以查看其文档?这是一个示例方法,实际方法有大量参数,这些参数可以为null。所以我不能为每个可能的组合编写代码。正在查找泛型。@user93796能否修改client.printColor
方法?