How does the Python compiler work?
Python is an interpreted language which means that at runtime code is converted into low-level bytecode before being executed by the virtual machine.
This means that the code we write in our IDEs is not readily understood by the machine unless it is first converted into ‘machine code’.
This is not the case with languages such as C and C++ that are compiled before runtime.
File types in Python
Once Python source code has been compiled it is usually stored as .pyc files and only regenerated when we update the source code. This is the work of a compiler.
Once we have the bytecode stored in the form of .pyc files, these are then loaded into the Python virtual machine for execution.
Despite making the development faster due to its simple syntax, Python is slower when compared to compiled languages such as C++ and C.
Bytecode is a low-level language that is translated into machine code before being executed. In Python. Bytecode is easily readable by humans as it’s meant to be read by machines.
The dis module in Python compiler
However, using the dis module in Python we can disassemble bytecode into a more human-readable form.
This is often done for purposes of performing optimizations, performance analysis or tracing conditions such as when threads are trying to access a shared variable.
Using the dis module we can print the disassembled form of our python source code i.e modules, classes, functions etc.
For illustration purposes, we are going to create a short piece of code that adds three integers and returns their sum.
Disassemble the source code in Python compiler
Now to disassemble the source code above we will first import the dis module. The dis module includes functions such as the dis.dis() function that we are going to use to disassemble our code.
To disassemble this source code we are going to add our function name within the dis.dis() function as shown below.
This will print the result of the add() function alongside the disassembled form of our source code in the terminal as shown below.
Summary
This is how a Python compiler works in practice. If you’d like to see more programming tutorials, check out our Youtube channel, where we have plenty of Python video tutorials in English.
In our Python Programming Tutorials series, you’ll find useful materials which will help you improve your programming skills and speed up the learning process.
Programming tutorials
- How to use the Python for loop
- How to use Python Sets
- How to use a Python Dictionary
- How to use Python Classes
- How to use Python Range
- How to use Python if-else statements
- How to use Python RegEx
- How to use Python Lists
- How to use Python Enumerate
- How to use Python Functions
- How to use Python Split
- How to use Python Try-Except
- How to use Python Tuples
- How to use Python Arrays
- How to use Python Sort
- How to use the Python DateTime
- How to download Python?
- How to use the Python FileWrite function
- How to use Python Lambda
- How to use Python ListAppend
- How to use Python ListComprehension
- How to use Python Map
- How to use Python Operators
- How to use Python Pandas
- How to use Python Requests
- How to use Python Strings
- How to use Python Count
- How to use Python Comments
- How to use the Python File Reader method
- How to use the Python IDE-s
- How to use Python logging
- How to use Python Print
- How to use the Python Zip
- How to use Python Append
- How to use Python Global Variables
- How to use the Python join method
- How to use Python list length
- How to use Python JSON files
- How to use Python Modulo
- How to use Python file opening methods
- How to use Python round
- How to use Python sleep
- How to use Python replace
- How to use Python strip
- How to use the Python Time module
- How to use Python unittests
- How to save data to a text file using Context Manager?
- How to use Python external modules
- How to use Python find
- How to install the Python pip package manager
- How to delete files in Python
- Parsing XML files in Python
- How to make a GUI in Python
- How to use Python in Command Prompt
- How to Run a Python Program in VS Code
- How to run a program in Python IDLE
- How to run a program in Jupyter Notebook
- How to read a text file in Python
- How to add numbers in Python
- How to ask for user input in Python
- How to debug in Python
- How to create a thread in Python
- How to end a program in Python
- How to import a library in Python
- How to use the PIP package manager
- How to use classes in Python
- How to reverse strings in Python
- How to convert a string to int in Python
- How to print on the same line in Python
- How to remove items from a list
- How to add to a dictionary in Python
- How to raise an exception in Python
- How to throw an exception in Python
- How to stop a program in Python
- How to use Python assert
- How to use the Python compiler
Would you like to learn how to code, online? Come and try our first 25 lessons for free at the CodeBerry Programming School.
Learn to code and change your career!

100% ONLINE

IDEAL FOR BEGINNERS

SUPPORTIVE COMMUNITY

SELF-PACED LEARNING
Not sure if programming is for you? With CodeBerry you’ll like it.
