A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/python/python-compile-function/ below:

Python compile() Function - GeeksforGeeks

Python compile() Function

Last Updated : 11 Jul, 2025

Python is a high-level, general-purpose, and very popular programming language. In this article, we will learn about the Python compile() function.

Python compile() Function Syntax

Python compile() function takes source code as input and returns a code object that is ready to be executed and which can later be executed by the exec() function.

Syntax compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

Parameters:

Python compile() function Example Converting String to Python Code Object

Example 1: Here filename is mulstring and exec mode allows the use of exec() method and the compile method converts the string to a Python code object.

Python3
srcCode = 'x = 10\ny = 20\nmul = x * y\nprint("mul =", mul)'
execCode = compile(srcCode, 'mulstring', 'exec')
exec(execCode)

Output:

mul = 200

Example 2: In the code we are using compile() to compile a single expression 'x' and then execute it using exec().

Python3
x = 50
a = compile('x', 'test', 'single')
print(type(a))
exec(a)

Output:

<class 'code'>
50

Python Compile function from File

In this example, we will take main.py file with some string display methods, and then we read the file content and compile it to code the object and execute it.

Python3
String = "Welcome to Geeksforgeeks"
print(String)

Here we will read the file content as a string and then compile it to a code object.

Python3
f = open('main.py', 'r')
temp = f.read()
f.close()

code = compile(temp, 'main.py', 'exec')
exec(code)

Output:

Welcome to Geeksforgeeks
Compile() with eval()

Here eval is used when the source is a single expression. 

Python3
x = 50

# Note eval is used for statement
a = compile('x == 50', '', 'eval')
print(eval(a))

Output:

True

Applications
  1. If the Python code is in string form or is an AST object, and you want to change it to a code object, then you can use compile() method.
  2. The code object returned by the compile() method can later be called using methods like: exec() and eval() which will execute dynamically generated Python code.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4