2.4바이트 코드와 PVM
마지막 단계로 바이트 코드를 생성할 차례입니다. 다음 코드를 입력해 test.py의 바이트 코드를 확인해 봅시다.
>>> import dis
>>> g = dis.get_instructions(s) #1
>>> for inst in g:
print(inst.opname.ljust(20), end = ' ') #2
print(inst.argval) #3
LOAD_CONST <code object func at 0x00D0B6A8, file "<disassembly>", line 1>
LOAD_CONST func
MAKE_FUNCTION 0
STORE_NAME func
LOAD_CONST 10
STORE_NAME a
LOAD_CONST 20
STORE_NAME b
LOAD_NAME func
LOAD_NAME a
LOAD_NAME b
CALL_FUNCTION 2
STORE_NAME c
LOAD_NAME print
LOAD_NAME c
CALL_FUNCTION 1
POP_TOP None
LOAD_CONST None
RETURN_VALUE None