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

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