我有一个带有可选参数create_group
的函数user_device=None
。如果为user_device
提供了非None值,我希望字典targeting_spec
包含键值对"user_device": user_device
,如果没有提供非None值,我不会希望targeting_spec
包含此键值对。
我现在怎么做:
def create_group(..., user_device=None, ...):
...
targeting_spec = {
...
}
if user_device:
targeting_spec["user_device"] = user_device
...
这是一种可以接受的方式吗?如果不是,那是什么?我问,因为这似乎是Python喜欢优雅地解决的问题。
答案 0 :(得分:4)
您的方法很好,提供您不需要支持空值。
例如,考虑传入user_device=0
。 user_device
不是None
,但 是假名值。
如果您需要从None
支持虚假值分开,请使用is not None
进行测试:
if user_device is not None:
parameters["user_device"] = user_device