以下代码 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()
这样的逻辑有没有可以优化的余地?
1
BOYPT 2016-09-02 17:04:57 +08:00
写到这样的逻辑都会想哭
|
2
Allianzcortex 2016-09-02 17:14:37 +08:00
if 'sub_switch' in kwarg:
kwarg.pop() 这样子的。。。?? |
3
264768502 OP 或许这样更好
```python try: if kwarg.pop('sub_switch'): do() except KeyError: if main_switch: do() ``` |
4
just4test 2016-09-05 09:19:15 +08:00
首先你不能
temp = kwarg.get('sub_switch') 么? |
6
264768502 OP 果然抛开业务谈逻辑不是很好,这里还有个性能问题
查了一下,当 key 高概率在字典,可以用 try.否则先查看有没有,再执行逻辑,性能上会更好 |