더북(TheBook)


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

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.