An Introduction to Python
An introduction to Python, its history, use cases, installation, and setting up the development environment.
I recently started the 30 Days of Python by Asabeneh1, and I thought it would be a good idea to document what I’m learning as I go. This series isn’t about me teaching Python — it’s more about learning in public and sharing what I understand so far.
Today’s post focuses on some background information about Python: what it is, where it came from, and why so many people choose it as their first (or second) programming language.
What is Python?
Python is a high-level programming language that is often described as object-oriented. At first, that phrase can feel intimidating — it definitely did for me.
When I first heard “object-oriented programming” (or OOP), I had no idea what a class or an object was. And honestly, that’s completely fine. You don’t need to fully understand it on day one.
From what I’ve gathered so far, classes and objects are ways of modelling things in code — things that have properties and behaviours2.
For example:
- A mobile phone
- A pet
- A person
If we take a mobile phone:
The class would be the idea of a phone
The object would be a specific phone with its own storage, RAM, camera, etc.
Each phone is separate, but they all come from the same blueprint.
Object-oriented programming allows these objects to:
- Store data
- Perform actions
- Interact with other objects
This approach helps keep code organised, reusable, and easier to manage as projects grow.
I’ll go deeper into OOP later — for now, this mental model is more than enough.
Why Python is so popular
One thing that quickly stands out with Python is how readable it is.
Python was deliberately designed to be close to the English language. The idea is that code should be easy to read — not just by machines, but by humans too.
This is especially helpful for beginners.
Many programming languages share similar concepts, so learning Python doesn’t limit you. In fact, it often makes learning other languages easier later on.
A quick comparison: Python (2008) vs C (1970)
Here’s a simple example that prints numbers up to a specified range using a loop function made by using an older language, ‘C’ (created in the 1970s):
1
2
3
4
5
6
7
8
9
#include <stdio.h>
int main() {
int i;
for (i = 1; i <= 5; i++) {
printf("%d\n", i);
}
return 0;
}
Now compare that to Python 3:
1
2
for num in range(5):
print(num)
Even without knowing either language well, Python reads almost like plain English:
“For each number in range five, print the number.”
This readability is a huge reason why Python is often recommended for beginners.
A very brief history of Python
Python was created by Guido van Rossum, a Dutch programmer, while working at the Centrum Wiskunde & Informatica (CWI) in the Netherlands3.
Development began in December 1989
The first public release (Python 0.9.0) appeared in February 1991
The name Python comes from the british sketch comedy series, Monty Python’s Flying Circus.
Major versions:
- Python 1.0 — January 1994
- Python 2.0 — October 2000
- Python 3.0 — December 2008 (and still actively developed)
- Python 3 introduced changes that focused heavily on consistency, clarity, and long-term maintainability — even though this meant breaking compatibility with Python 2.
My experience so far
I’ve briefly taken a look at Python 2, and what really stands out is how Python 3 improves how you write code.
For newer programmers, having a language that resembles English makes a big difference. It lowers the barrier to entry and lets you focus on problem-solving rather than syntax.
That said, most programming languages share similar ideas — so learning Python doesn’t mean you’re boxed into it forever.
Object-Oriented Programming (with code)
Earlier, I tried explaining OOP conceptually. Now let’s look at a small example.
1
2
3
4
5
6
7
8
9
10
11
class Person:
def __init__(self, name, age, skin):
self.name = name
self.age = age
self.skin = skin
person1 = Person("Sheikh", 29, "Brown")
print(person1.name) # 'Sheikh'
print(person1.age) # '29'
print(person1.skin) # 'Brown'
Here:
Personis the classperson1is an object created from that class- Each object stores its own data
Now let’s add a method — something the object can do.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Person:
def __init__(self, name, age, skin):
self.name = name
self.age = age
self.skin = skin
def name_change(self):
new = input("What's the new name? ")
self.name = new
print("Name has been updated")
person1 = Person("Sheikh Hussain", 29, "Brown")
person1.name_change()
print(person1.name) # 'Sheikh Hussain'
This shows how:
- Objects can change their own data
- Methods act on the object’s internal state
For a beginner, this might feel slightly advanced — and that’s okay. Understanding comes with repetition.
Installing Python
To stay on the safe side, I recommend only downloading Python from the official website, but I also don’t want to provide the link to it for you because of security purposes but a Google search like ‘Python install’ or ‘Python official website’ should bring the correct result.
Once installed, I’d also suggest using Visual Studio Code as your editor/development environment.
VS Code is popular, beginner-friendly, and works with almost every programming language.
Some guides suggest using Python directly in the terminal. While that’s useful later, I think it’s better to start inside a proper development environment and get comfortable there first.
Staying organised
One habit I’m trying to build early is organisation.
For each project:
- Create a dedicated folder
- Keep related files together
- And, Use clear file names like
main.py,day1.py, etc.
This becomes especially important once you start working with modules and larger projects.
Your first Python script
Once, you’ve done the steps above to create a place where you can put all your scripts or files we can begin to code!
Open, VS Code and navigate to the folder where you want your project to be placed.
Then click on the new file icon on the left hand side or File > New File > Python File which will open an untitled.py file - Just hit save and rename.
In that file do the following codes and press the play button that should be at the top-right handside.
The classic first step:
1
print("Hello World!")
And some basic maths:
1
2
3
4
print(1 + 1)
print(1 - 1)
print(5 / 5)
print(5 * 5)
Simple, but satisfying.
Play around with it a little, do some tricks of your own with it - get as many error messages that you can!
Summary
This post marks the start of my Python learning journey. I’m still early in the process, but documenting what I learn helps solidify it — and hopefully helps someone else starting out too.
There’s a lot more to cover, and I’ll be diving deeper as the days go on.
important note If you’ll be following on with my learning of Python, you may want to try out some of the examples I provide or follow along with the coding. I’d strongly recommend you check the version you are using of Python as it does make a difference in coding style sometimes.
Right now I am using Python 3.14.0 - please only download from the original website.
Further reads:
W3 Schools: Object Oriented Programming - Python
Python Official Documentation
