如何拆分过长的for循环以符合PEP-8规范?
符合PEP-8规范的长for循环拆分写法
针对你遇到的行过长和缩进错误问题,以下几种写法都能满足flake8的要求:
方法1:对齐括号内的参数缩进
将第二个参数缩进至与find_all的左括号对齐,或使用4个空格的视觉缩进:
for result_row in soup.find_all( 'div', {"class": "b2c-inner-data-wrapper"}): # 你的循环体代码
方法2:用括号包裹整个调用表达式
把soup.find_all的调用放在一对括号里,换行后缩进更自由,也符合视觉规范:
for result_row in ( soup.find_all('div', {"class": "b2c-inner-data-wrapper"}) ): # 你的循环体代码
方法3:提前定义参数变量
将过长的参数单独赋值给变量,既解决行长度问题,也提升代码可读性:
search_kwargs = {"class": "b2c-inner-data-wrapper"} for result_row in soup.find_all('div', search_kwargs): # 你的循环体代码
你之前的写法错误在于续行未保持正确的视觉缩进,PEP-8要求续行要么对齐到括号内的起始位置,要么使用统一的4空格缩进,确保代码结构清晰。
内容的提问来源于stack exchange,提问作者Daniel Avigdor
相关产品推荐
相关产品推荐

