What is a Python code object?

前端 未结 3 1579
花落未央
花落未央 2021-02-01 03:40

While trying to use Python\'s \"exec\" statement, I got the following error:

TypeError: exec: arg 1 must be a string, file, or code object

I do

3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-02-01 03:57

    Code objects are described here:

    Code objects represent byte-compiled executable Python code, or bytecode. The difference between a code object and a function object is that the function object contains an explicit reference to the function’s globals (the module in which it was defined), while a code object contains no context; also the default argument values are stored in the function object, not in the code object (because they represent values calculated at run-time). Unlike function objects, code objects are immutable and contain no references (directly or indirectly) to mutable objects.

提交回复
热议问题