Python bytecode

Just like Java or C#, CPython is compiling the code into bytecode which is then interpreted by a virtual machine. The Python library dis allows to disassemble Python code and to see how are things are compiled under the hood. Consider the following code:

>>> def test():
...     for i in range(10):
...             print(i)
...

You can call dis.dis(test) to display the compiled bytecode, and dis.show_code(test) to understand the symbols referenced by that bytecode. Continue reading

Variables and integers

Python does not have variables like in other languages. In a language such as C++ or Java, writing something like:

int a = 42;

means that some memory gets allocated to store an integer value and that a variable gets associated with that memory range. When you change the value of the variable a, the memory gets modified.

In Python, things work differently. Continue reading