The Python compile function accepts source code as its input and produces a code object that can subsequently be run using the exec function.
Python compile Function Syntax
It has the following syntax:
Example
compile(source, filename, mode, flag, dont_inherit, optimize)
Parameters
- source - normal string, a byte string, or an AST (Abstract Syntax Trees) object.
- filename - File from which the code is read.
- mode - mode can be either exec or eval or single. eval - if the source is a single expression. exec - if the source is block of statements. single - if the source is single statement.
- flags and dont_inherit - Default Value= 0. Both are optional parameters. It monitors that which future statements affect the compilation of the source.
- optimize (optional) - Default value -1. It defines the optimization level of the compiler.
- eval - if the source is a single expression.
- exec - if the source is block of statements.
- single - if the source is single statement.
Return
It returns a Python code object.
Different Examples of Python compile Function
Here are several examples of the compile function that are presented below:
Python compile Function Example 1
This example demonstrates how to convert a string source into a code object through compilation.
Example
# compile string source to code
code_str = 'x=5\ny=10\nprint("sum =",x+y)'
code = compile(code_str, 'sum.py', 'exec')
print(type(code))
exec(code)
exec(x)
Output:
Output
<class 'code'>
sum = 15
Python compile Function Example 2
This example illustrates how to read code from a file and subsequently compile it.
Assume we possess a file named mycode.py that contains the subsequent content.
Example
x = 10
y = 20
print('Multiplication = ', x * y)
We have the ability to read the contents of this file as a string, compile it into a code object, and then execute that code.
Example
# reading code from a file
f = open('my_code.py', 'r')
code_str = f.read()
f.close()
code = compile(code_str, 'my_code.py', 'exec')
exec(code)
Output:
Output
Multiplication =200