Does python always need to compile ENTIRE program before it canstart to run it???
Peter Hansen
peter at engcorp.com
Mon Nov 3 15:21:04 EST 2003
More information about the Python-list mailing list
Mon Nov 3 15:21:04 EST 2003
- Previous message (by thread): Does python always need to compile ENTIRE program before it can start to run it???
- Next message (by thread): Does python always need to compile ENTIRE program before itcanstart to run it???
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Michael T. Babcock" wrote: > > > > make ; myprogram > > > > > >I am trying to think of an advantage Python has over this hack.... > > > >Is it true that unlike C/C++ that Python programs can start executing > >before compilation is COMPLETELY done??? I think so but I'm not sure. > > > > Yes. You can have Python code that wouldn't "compile" but still runs. > As long as the paths the interpreter takes have no errors, you're fine > (minor exception of syntax errors). > > class a: > def __init__(self): > help # syntax error if we initialize an instance of a() > > print "hello world" > > ... that'll still run 'fine' because you don't use "a" > > That said, the "compilation" time of a Python program is almost > nonexistant in most cases. Most of the work is runtime; load a class, > wait for the class to compile, and so on.. That's not *exactly* true, I'm afraid. The above example would actually raise a NameError, since the name "help" is not defined at the time of execution, if you tried constructing an a(). SyntaxErrors for the most part come during compilation only (I'm not sure if there are any exceptions to that, but I'm not aware of any), and compilation is done on a module *prior* to execution, unlike some other languages where the source itself is interpreted and there is not really a compilation phase. Therefore I believe your first statement is actually not true, and in fact Python code that "wouldn't compile" actually cannot be run, because it has to be compiled prior to running. -Peter
- Previous message (by thread): Does python always need to compile ENTIRE program before it can start to run it???
- Next message (by thread): Does python always need to compile ENTIRE program before itcanstart to run it???
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list