Wenn Sie einmal eine Python-Funktion mit der Funktion dis
disassemblieren, sind zwischen einigen Opcodes Leerzeilen, wie unten gezeigt.Leere Zeilen in Python-Bytecode
>>> dis(fizzbuzz)
2 0 LOAD_FAST 0 (n)
3 LOAD_CONST 1 (3)
6 BINARY_MODULO
7 LOAD_CONST 2 (0)
10 COMPARE_OP 2 (==)
13 POP_JUMP_IF_FALSE 36
16 LOAD_FAST 0 (n)
19 LOAD_CONST 3 (5)
22 BINARY_MODULO
23 LOAD_CONST 2 (0)
26 COMPARE_OP 2 (==)
29 POP_JUMP_IF_FALSE 36
3 32 LOAD_CONST 4 ('FizzBuzz')
35 RETURN_VALUE
4 >> 36 LOAD_FAST 0 (n)
39 LOAD_CONST 1 (3)
42 BINARY_MODULO
43 LOAD_CONST 2 (0)
46 COMPARE_OP 2 (==)
49 POP_JUMP_IF_FALSE 56
5 52 LOAD_CONST 5 ('Fizz')
55 RETURN_VALUE
6 >> 56 LOAD_FAST 0 (n)
59 LOAD_CONST 3 (5)
62 BINARY_MODULO
63 LOAD_CONST 2 (0)
66 COMPARE_OP 2 (==)
69 POP_JUMP_IF_FALSE 76
7 72 LOAD_CONST 6 ('Buzz')
75 RETURN_VALUE
9 >> 76 LOAD_GLOBAL 0 (str)
79 LOAD_FAST 0 (n)
82 CALL_FUNCTION 1 (1 positional, 0 keyword pair)
85 RETURN_VALUE
86 LOAD_CONST 0 (None)
89 RETURN_VALUE
Die >>
verwendet markierte Anweisungen, um anzuzeigen, aber ich scheine für nicht zu bekommen, was die Leerzeilen sind. Hat jemand eine Ahnung, was diese leeren Zeilen bedeuten?