From fa4bcc6ccc31bd32e5c4612878d52d516e5e28f5 Mon Sep 17 00:00:00 2001 From: Flynnon <1553669019@qq.com> Date: Sun, 10 Mar 2019 15:40:46 +0800 Subject: [PATCH] change sth --- .../p25_disassembling_python_byte_code.rst | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/source/c09/p25_disassembling_python_byte_code.rst b/source/c09/p25_disassembling_python_byte_code.rst index 3f3762a1..507e2cda 100644 --- a/source/c09/p25_disassembling_python_byte_code.rst +++ b/source/c09/p25_disassembling_python_byte_code.rst @@ -15,14 +15,38 @@ .. code-block:: python >>> def countdown(n): - ... while n > 0: - ... print('T-minus', n) - ... n -= 1 - ... print('Blastoff!') + ... while n > 0: + ... print('T-minus', n) + ... n -= 1 + ... print('Blastoff!') ... >>> import dis >>> dis.dis(countdown) - ... + 2 0 SETUP_LOOP 30 (to 32) + >> 2 LOAD_FAST 0 (n) + 4 LOAD_CONST 1 (0) + 6 COMPARE_OP 4 (>) + 8 POP_JUMP_IF_FALSE 30 + + 3 10 LOAD_GLOBAL 0 (print) + 12 LOAD_CONST 2 ('T-minus') + 14 LOAD_FAST 0 (n) + 16 CALL_FUNCTION 2 + 18 POP_TOP + + 4 20 LOAD_FAST 0 (n) + 22 LOAD_CONST 3 (1) + 24 INPLACE_SUBTRACT + 26 STORE_FAST 0 (n) + 28 JUMP_ABSOLUTE 2 + >> 30 POP_BLOCK + + 5 >> 32 LOAD_GLOBAL 0 (print) + 34 LOAD_CONST 4 ('Blastoff!') + 36 CALL_FUNCTION 1 + 38 POP_TOP + 40 LOAD_CONST 0 (None) + 42 RETURN_VALUE >>> ---------- @@ -46,9 +70,8 @@ >>> c = countdown.__code__.co_code >>> import opcode >>> opcode.opname[c[0]] - >>> opcode.opname[c[0]] 'SETUP_LOOP' - >>> opcode.opname[c[3]] + >>> opcode.opname[c[2]] 'LOAD_FAST' >>>