Pages

11 April, 2022

Python compile() Function

Python compile() Function

The python compile() function takes source code as input and returns a code object which can later be executed by exec() function.

Signature

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.

Return

It returns a Python code object.

Let's see some examples of compile() function which are given below:

Python compile() Function Example 1

This example shows to compile a string source to the code object.

  1. # compile string source to code  
  2. code_str = 'x=5\ny=10\nprint("sum =",x+y)'  
  3. code = compile(code_str, 'sum.py''exec')  
  4. print(type(code))  
  5. exec(code)  
  6. exec(x)  

Output:

<class 'code'>
sum = 15

Python compile() Function Example 2

This example shows to read a code from the file and compile.

Let's say we have mycode.py file with following content.

  1. x = 10  
  2. y = 20  
  3. print('Multiplication = ', x * y)  

We can read this file content as a string ,compile it to code object and execute it.

  1. # reading code from a file  
  2. f = open('my_code.py''r')  
  3. code_str = f.read()  
  4. f.close()  
  5. code = compile(code_str, 'my_code.py''exec')  
  6. exec(code)  

Output:

Multiplication =200

No comments:

Post a Comment

Thanks