I am new to python and I have never compiled python code to an executable file before. The languages I am well familiar with are C, C++, and Java and I have never come across a language that lets you modify the code from within itself, like Python which uses has the method exec.  
For the following code,
a = 500
code  = raw_input() 
exec (code)
When I give the input as, print (a) the program displays the value in a. So this means the variable a comes within the scope of the code. 
I don't understand what would happen if we try to convert the python code to an executable using a program like py2exe. Will the method exec still work? If it does work, does py2exe bring the entire Python compiler and interpreter with it when the program gets compiled?
 
    