以下代码 main_swit
if kwarg.get('sub_switch'):
do()
del kwarg['sub_switch']
elif kwarg.get('sub_switch') is False:
del kwarg['sub_switch']
elif kwarg.get('sub_switch') is None and main_switch:
do()
这样的逻辑有没有可以优化的余地?
以下代码 main_swit
if kwarg.get('sub_switch'):
do()
del kwarg['sub_switch']
elif kwarg.get('sub_switch') is False:
del kwarg['sub_switch']
elif kwarg.get('sub_switch') is None and main_switch:
do()
这样的逻辑有没有可以优化的余地?
|
BOYPTSep 2, 2016
1
写到这样的逻辑都会想哭
|
|
AllianzcortexSep 2, 2016
2
if 'sub_switch' in kwarg:
kwarg.pop() 这样子的。。。?? |
|
3
或许这样更好
```python try: if kwarg.pop('sub_switch'): do() except KeyError: if main_switch: do() ``` |
|
just4testSep 5, 2016
4
首先你不能
temp = kwarg.get('sub_switch') 么? |
|
6
果然抛开业务谈逻辑不是很好,这里还有个性能问题
查了一下,当 key 高概率在字典,可以用 try.否则先查看有没有,再执行逻辑,性能上会更好 |