Skip to main content
 首页 » 编程设计

python之嵌套for循环的缩进

2025年05月04日11jillzhang

我想知道为什么这是正确的:

for heading in soup.find_all("td", class_="paraheading"): 
    key = " ".join(heading.text.split()).rstrip(":") 
    if key in columns: 
        print key 
        next_td = heading.find_next_sibling("td", class_="bodytext") 
        value = " ".join(next_td.text.split()) 
        print value 
    if key == "Industry Categories": 
        print key 
        ic_next_td = heading.find_next_sibling("td", class_="bodytext") 
        for value in ic_next_td.strings: 
                print value 

这不是:

for heading in soup.find_all("td", class_="paraheading"): 
    key = " ".join(heading.text.split()).rstrip(":") 
    if key in columns: 
        print key 
        next_td = heading.find_next_sibling("td", class_="bodytext") 
        value = " ".join(next_td.text.split()) 
        print value 
    if key == "Industry Categories": 
        print key 
        ic_next_td = heading.find_next_sibling("td", class_="bodytext") 
        for value in ic_next_td.strings: 
            print value 

注意第一个代码块中 print value 看似双重缩进。

for value in ic_next_td.strings: 的下一级缩进是否会是该行的一个额外缩进级别?

谢谢

请您参考如下方法:

您正在混合使用制表符和空格。不要这样做。

运行 python -tt yourscript.py 以检测任何不一致,但最重要的是,始终仅使用空格。

将您的编辑器配置为使用空格进行缩进,并将所有现有制表符替换为空格。大多数代码编辑器都有相应的功能。