什么考虑在python中嵌套?

时间:2016-06-26 16:58:21

标签: python

我一直认为嵌套是将一个对象嵌入到同一类型的另一个对象中。

但我最近被告知嵌套也意味着嵌入不同类型的对象,因此以下有三个嵌套级别。

def my_function():
    # first level of nesting ???
    while expr:
        # second level of nesting ???
        if expr:
            # third level of nesting ???
            do_something()
        else:
            # third level of nesting ???
            do_something_else()

我在网上搜索过但无法找到任何简明的答案。

2 个答案:

答案 0 :(得分:2)

至少有两种嵌套定义:

  • 将一个物体放在另一个物体内可以被认为是嵌套(想想俄罗斯嵌套娃娃),但它通常被称为组合。我猜这是你所指的将一个物体放在另一个物体内;虽然类型不要求属于同一类型,但除非您定义递归数据结构,否则通常不会。

  • 您在代码段中显示的内容也可以被视为嵌套,因为您在其他表达式/语句中包含表达式/语句。鉴于它的Python,它也可以被认为是缩进级别,因为缩进级别表示Python中的嵌套级别。

答案 1 :(得分:0)

嵌套意味着将一块代码放在另一个块中。 以下是嵌套块的示例。

if True:
    a = 0 
    a = a + 5 
    if a < 10: 
        a = 20

for i in [1, 2, 3]: 
    print i
    try:
        b = i + 10
    except:
        print 'bye'

在上面的代码中,块如果a&lt; 10 嵌套在块下如果为,同样尝试除了块嵌套在块下循环