代码之家  ›  专栏  ›  技术社区  ›  NewbiePython

在Python 3中“block”是什么意思?

  •  -3
  • NewbiePython  · 技术社区  · 7 年前

    我是一名编程新手,试图从automatetheboringstuff学习Python。通用域名格式。 在第2章的末尾,出现了下面的问题。 请帮忙!

    Q: 8。识别此代码中的三个块:

    spam = 0
    if spam == 10:
        print('eggs')
        if spam > 5:
            print('bacon')
        else:
            print('ham')
        print('spam')
    print('spam')
    

    官方答案:

    这三个块是if语句和行中的所有内容 print('bacon') print('ham') .

    print('eggs')
    if spam > 5:
        print('bacon')
    else:
        print('ham')
    print('spam')
    
    1 回复  |  直到 7 年前
        1
  •  4
  •   BoarGules    7 年前

    每次增加直线的缩进量时,新块都会开始,并在相应的未缩进量之前结束。

    spam = 0
    if spam == 10:
        print('eggs')        # indent increased, block A
        if spam > 5:         # still block A
            print('bacon')   # still block A, indent increased, block B inside block A
        else:                # still block A, indent decreased, block B ended in line above
            print('ham')     # still block A, indent increased, block C inside block A
        print('spam')        # still block A, indent decreased, block C ended in line above
    print('spam')            # indent decreased, block A ended in line above