change sth
This commit is contained in:
@@ -15,14 +15,38 @@
|
|||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
>>> def countdown(n):
|
>>> def countdown(n):
|
||||||
... while n > 0:
|
... while n > 0:
|
||||||
... print('T-minus', n)
|
... print('T-minus', n)
|
||||||
... n -= 1
|
... n -= 1
|
||||||
... print('Blastoff!')
|
... print('Blastoff!')
|
||||||
...
|
...
|
||||||
>>> import dis
|
>>> import dis
|
||||||
>>> dis.dis(countdown)
|
>>> 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
|
>>> c = countdown.__code__.co_code
|
||||||
>>> import opcode
|
>>> import opcode
|
||||||
>>> opcode.opname[c[0]]
|
>>> opcode.opname[c[0]]
|
||||||
>>> opcode.opname[c[0]]
|
|
||||||
'SETUP_LOOP'
|
'SETUP_LOOP'
|
||||||
>>> opcode.opname[c[3]]
|
>>> opcode.opname[c[2]]
|
||||||
'LOAD_FAST'
|
'LOAD_FAST'
|
||||||
>>>
|
>>>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user