Python dis输出中的“>>”代表什么?

3
我有以下代码。
code = '''
    x = ['a','b','c']
    for each in x:
        print(each)
    '''

我使用Python的dis包中的dis函数,得到了以下输出结果。

dis.dis(code)

>   2           0 LOAD_CONST               0 ('a')
>               2 LOAD_CONST               1 ('b')
>               4 LOAD_CONST               2 ('c')
>               6 BUILD_LIST               3
>               8 STORE_NAME               0 (x)
> 
>   3          10 SETUP_LOOP              20 (to 32)
>              12 LOAD_NAME                0 (x)
>              14 GET_ITER
>         >>   16 FOR_ITER                12 (to 30)
>              18 STORE_NAME               1 (each)
> 
>   4          20 LOAD_NAME                2 (print)
>              22 LOAD_NAME                1 (each)
>              24 CALL_FUNCTION            1
>              26 POP_TOP
>              28 JUMP_ABSOLUTE           16
>         >>   30 POP_BLOCK
>         >>   32 LOAD_CONST               3 (None)
>              34 RETURN_VALUE

我想知道在这个输出中 >> 的意义是什么。它被打印出来是为了 FOR_ITER, POP_BLOCK, 和 LOAD_CONST

1个回答

2
如果您查找字节偏移量,您会发现每个已标记的行都是跳转或其他分支操作的对象。它旨在帮助您更轻松地识别循环范围等内容。"最初的回答"。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接