特别是,它输出:
>>> dis.dis(None)
22 0 LOAD_FAST 0 (x)
3 LOAD_CONST 1 (None)
6 COMPARE_OP 8 (is)
9 POP_JUMP_IF_FALSE 23
23 12 LOAD_GLOBAL 1 (distb)
15 CALL_FUNCTION 0
18 POP_TOP
24 19 LOAD_CONST 1 (None)
22 RETURN_VALUE
25 >> 23 LOAD_GLOBAL 2 (isinstance)
26 LOAD_FAST 0 (x)
29 LOAD_GLOBAL 3 (types)
32 LOAD_ATTR 4 (InstanceType)
35 CALL_FUNCTION 2
38 POP_JUMP_IF_FALSE 53
26 41 LOAD_FAST 0 (x)
44 LOAD_ATTR 5 (__class__)
47 STORE_FAST 0 (x)
50 JUMP_FORWARD 0 (to 53)
27 >> 53 LOAD_GLOBAL 6 (hasattr)
56 LOAD_FAST 0 (x)
59 LOAD_CONST 2 ('im_func')
62 CALL_FUNCTION 2
65 POP_JUMP_IF_FALSE 80
28 68 LOAD_FAST 0 (x)
71 LOAD_ATTR 7 (im_func)
74 STORE_FAST 0 (x)
77 JUMP_FORWARD 0 (to 80)
29 >> 80 LOAD_GLOBAL 6 (hasattr)
83 LOAD_FAST 0 (x)
86 LOAD_CONST 3 ('func_code')
89 CALL_FUNCTION 2
92 POP_JUMP_IF_FALSE 107
30 95 LOAD_FAST 0 (x)
98 LOAD_ATTR 8 (func_code)
101 STORE_FAST 0 (x)
104 JUMP_FORWARD 0 (to 107)
31 >> 107 LOAD_GLOBAL 6 (hasattr)
110 LOAD_FAST 0 (x)
113 LOAD_CONST 4 ('__dict__')
116 CALL_FUNCTION 2
119 POP_JUMP_IF_FALSE 246
32 122 LOAD_FAST 0 (x)
125 LOAD_ATTR 9 (__dict__)
128 LOAD_ATTR 10 (items)
131 CALL_FUNCTION 0
134 STORE_FAST 1 (items)
33 137 LOAD_FAST 1 (items)
140 LOAD_ATTR 11 (sort)
143 CALL_FUNCTION 0
146 POP_TOP
34 147 SETUP_LOOP 174 (to 324)
150 LOAD_FAST 1 (items)
153 GET_ITER
>> 154 FOR_ITER 85 (to 242)
157 UNPACK_SEQUENCE 2
160 STORE_FAST 2 (name)
163 STORE_FAST 3 (x1)
35 166 LOAD_GLOBAL 2 (isinstance)
169 LOAD_FAST 3 (x1)
172 LOAD_GLOBAL 12 (_have_code)
175 CALL_FUNCTION 2
178 POP_JUMP_IF_FALSE 154
36 181 LOAD_CONST 5 ('Disassembly of %s:')
184 LOAD_FAST 2 (name)
187 BINARY_MODULO
188 PRINT_ITEM
189 PRINT_NEWLINE
37 190 SETUP_EXCEPT 14 (to 207)
38 193 LOAD_GLOBAL 13 (dis)
196 LOAD_FAST 3 (x1)
199 CALL_FUNCTION 1
202 POP_TOP
203 POP_BLOCK
204 JUMP_FORWARD 28 (to 235)
39 >> 207 DUP_TOP
208 LOAD_GLOBAL 14 (TypeError)
211 COMPARE_OP 10 (exception match)
214 POP_JUMP_IF_FALSE 234
217 POP_TOP
218 STORE_FAST 4 (msg)
221 POP_TOP
40 222 LOAD_CONST 6 ('Sorry:')
225 PRINT_ITEM
226 LOAD_FAST 4 (msg)
229 PRINT_ITEM
230 PRINT_NEWLINE
231 JUMP_FORWARD 1 (to 235)
>> 234 END_FINALLY
41 >> 235 PRINT_NEWLINE
236 JUMP_ABSOLUTE 154
239 JUMP_ABSOLUTE 154
>> 242 POP_BLOCK
243 JUMP_FORWARD 78 (to 324)
42 >> 246 LOAD_GLOBAL 6 (hasattr)
249 LOAD_FAST 0 (x)
252 LOAD_CONST 7 ('co_code')
255 CALL_FUNCTION 2
258 POP_JUMP_IF_FALSE 274
43 261 LOAD_GLOBAL 15 (disassemble)
264 LOAD_FAST 0 (x)
267 CALL_FUNCTION 1
270 POP_TOP
271 JUMP_FORWARD 50 (to 324)
44 >> 274 LOAD_GLOBAL 2 (isinstance)
277 LOAD_FAST 0 (x)
280 LOAD_GLOBAL 16 (str)
283 CALL_FUNCTION 2
286 POP_JUMP_IF_FALSE 302
45 289 LOAD_GLOBAL 17 (disassemble_string)
292 LOAD_FAST 0 (x)
295 CALL_FUNCTION 1
298 POP_TOP
299 JUMP_FORWARD 22 (to 324)
47 >> 302 LOAD_GLOBAL 14 (TypeError)
48 305 LOAD_CONST 8 ("don't know how to disassemble %s objects")
49 308 LOAD_GLOBAL 18 (type)
311 LOAD_FAST 0 (x)
314 CALL_FUNCTION 1
317 LOAD_ATTR 19 (__name__)
320 BINARY_MODULO
--> 321 RAISE_VARARGS 2
>> 324 LOAD_CONST 1 (None)
327 RETURN_VALUE
为什么?