Python compile() Function
The compile()
function computes the Python code from a source object and returns it.
note
To execute the resulting Python code object, you can use the exec()
function.
Syntax
compile(source, filename, mode, flag, dont_inherit, optimize)
compile() Parameters
Python compile()
function parameters:
Parameter | Condition | Description |
---|---|---|
source | Required | Specify the source to compile, can be a String, a Bytes object, or an AST object |
filename | Required | Specify the name of the file that the source comes from. If the source does not come from a file, you can write whatever you like |
mode | Required | Legal values: - eval : if the source is a single expression- exec : if the source is a block of statements- single : if the source is a single interactive statement |
flags | Optional | Specify how to compile the source. Default value is 0 |
dont-inherit | Optional | Specify how to compile the source. Default value is False |
optimize | Optional | Optional. Defines the optimization level of the compiler. Default value is -1 |
compile() Return Value
Python compile()
function returns the specified source as a code object, ready to be executed.
Examples
Example 1: compile text as code and execute it
Compile text as code, and then execute it.
x = compile('print(55)', 'test', 'eval')
exec(x)
output:
55
Example 2: compile text as code and execute it
codeInString = 'a = 5\nb=10\nmul=a*b\nprint("mul =",mul)'
codeObject = compile(codeInString, 'multiplyNumbers', 'exec')
exec(codeObject)
output
mul = 50