写类似下面的代码真的是 pain in ass:
def test(a, b, c=None, d=None, e=None):
ret = {
'a': a,
'b': b,
}
if c is not None:
ret['c'] = c
if d is not None:
ret['d'] = d
if e is not None:
ret['e'] = e
return ret
使用 optionaldict 就清爽多啦:
from optionaldict import optionaldict
def test(a, b, c=None, d=None, e=None):
ret = optionaldict(
a=a,
b=b,
c=c,
d=d,
e=e
)
return ret
# or if you prefer to return a built-in dict object:
# return dict(ret)
1
loading 2015-05-09 12:19:22 +08:00
很多时候,我们需要的是更多的判断,这个一般与具体业务有关,基本每一个都会不同,所以,我个人认为,您这也是挺疼的。
ps:我指的是用户 post 来的数据。 |
2
messense OP @loading 哈哈,其实用户 post 来的数据我是用 JSON Schema 来校验的,不用那么蛋疼。倒是写一些 SDK 啊经常有一些参数可选蛮蛋疼。
|
3
fy 2015-05-09 14:27:40 +08:00
这个挺好的,不过我一般都是先加进去,然后for in,如果遇到空值就del掉。
让我更蛋疼的一个是我希望py可以从语法上原生支持有序字典,每次读一个json格式全乱了很蛋疼啊 |
4
zhyu 2015-05-09 14:29:28 +08:00
|