Open In App

Internal working of Python

Python is an object-oriented programming language like Java. Python is called an interpreted language. Python uses code modules that are interchangeable instead of a single long list of instructions that was standard for functional programming languages. The standard implementation of Python is called “cpython”. It is the default and widely used implementation of Python. 

Internal working of Python

Python doesn’t convert its code into machine code, something that hardware can understand. It converts it into something called byte code. So within Python, compilation happens, but it’s just not in a machine language. It is into byte code (.pyc or .pyo) and this byte code can’t be understood by the CPU. So we need an interpreter called the Python virtual machine to execute the byte codes. 



Internal Working of Python

How is Python Source Code Converted into Executable Code

The Python source code goes through the following to generate an executable code

How Python Internally Works?

Python Libraries/Modules

When you import libraries or modules in your Python program. Firstly python checks if the given module is built-in, and executes the corresponding C code. If the module is not built-in then the list of directories is defined in sys. path. the directory of the input script, and directories listed in the PYTHONPATH. if a .py file corresponds to the modules imported, Python creates a new module object, On executing the code in the .py file within the object’s namespace. Then Python compiles source code into byte code( the .pyc file), allowing for quicker execution



Compiler Vs Interpreter

In the system both the compiler and interpreter are the same they convert high-level code to machine code. The interpreter converts source code into the machine when the program runs in a system while a compiler converts the source code into machine code before the program runs in our system.

Compiler

Interpreter

The compiler is faster, as conversion occurs before the program executes.

The interpreter runs slower as the execution occurs simultaneously.

Errors are detected during the compilation phase and displayed before the execution of a program.

Errors are identified and reported during the given actual runtime.

Compile code needs to be recompiled to run on different machines.

Interpreted code is more portable as it can run on any machine with the appropriate interpreter.

It requires more memory to translate the whole source code at once.

It requires less memory than compiled ones.

Debugging is more complex due to batch processing of the code.

Debugging is easier due to the line-by-line execution of a code.

Article Tags :