如何优化含多if-else分支的Python代码?以指定CleanItem方法为例
优化Python代码以减少代码量
原代码逻辑:先提取PSCV值,若PSCV为空则将item['page_source_canonical_is_itself']设为True;若不为空,则判断PSCV与item['page_source']是否相等,相等设为True,否则设为False。
可以通过简化条件判断,直接用布尔表达式赋值来减少代码量,优化后的代码如下:
class CleanItem(): def process_item(self, item, spider): PSCV = str(item['page_source_canonical']).split("'")[1] item['page_source_canonical_is_itself'] = PSCV == "" or PSCV == item['page_source'] return item
优化说明
- 移除了嵌套的
if-else分支,直接将逻辑转换为布尔表达式赋值,代码更简洁且逻辑清晰 - 原逻辑完全保留:当
PSCV为空时,PSCV == ""为True,整体结果为True;当PSCV不为空时,结果由PSCV == item['page_source']决定,与原逻辑一致
内容的提问来源于stack exchange,提问作者Sardar
相关产品推荐
相关产品推荐

