DEV Community

Cover image for Python Is More Than Just print("Hello World"): Understanding the Fundamentals
Saravanan Lakshmanan
Saravanan Lakshmanan

Posted on

Python Is More Than Just print("Hello World"): Understanding the Fundamentals

I recently started learning Python, and in my first session, we explored some important fundamentals about Python, programming languages, Python versions, Python implementations, and the features that make Python popular.

Before jumping directly into coding, understanding these basics gives us a better idea of what Python actually is and why it is widely used.


What is Python?

Python is a high-level, general-purpose programming language known for its simple and readable syntax.

It is used in many areas, including:

  • Web Development
  • Automation
  • Data Science
  • Artificial Intelligence
  • Machine Learning
  • Scripting
  • Backend Development
  • Software Development

Python is designed to be easy to read and write, which makes it popular among beginners as well as experienced developers.


Understanding Python Version Numbers

You may have seen Python versions written like this:

Python 3.14.6

Let's understand what these numbers mean.

Major Version

The first number represents the major version.

Examples:

  • Python 2
  • Python 3

Python 2 and Python 3 are major versions with significant differences.

Minor Version

The second number represents the minor version.

Examples:

  • Python 3.13
  • Python 3.14

A new minor version can introduce new language features, improvements, and changes.

Maintenance or Patch Version

The third number represents the maintenance or patch release.

Example:

Python 3.14.6

This can be understood as:

  • 3 → Major version
  • 14 → Minor version
  • 6 → Maintenance/Patch release

Patch releases generally focus on:

  • Bug fixes
  • Security fixes
  • Stability improvements
  • Other small improvements

Understanding Alpha, Beta, RC, and Development Versions

When looking at Python releases, we may see versions such as:

  • 3.15.0a1
  • 3.15.0b1
  • 3.15.0rc1
  • 3.15.0
  • 3.15.0.dev1

These indicate different stages of development.


Alpha (a)

Example:

3.15.0a1
Enter fullscreen mode Exit fullscreen mode

An Alpha version is an early development version.

It may contain new features, but the features and behavior can still change.

Alpha versions are mainly useful for developers and testers.


Beta (b)

Example:

3.15.0b1
Enter fullscreen mode Exit fullscreen mode

A Beta version is more mature than an Alpha version, but it may still contain bugs and changes.

It is released for further testing before the final version.


Release Candidate (rc)

Example:

3.15.0rc1
Enter fullscreen mode Exit fullscreen mode

A Release Candidate is almost ready for the final release.

If no major problems are discovered, the Release Candidate may become the final version.


Final Release

Example:

3.15.0
Enter fullscreen mode Exit fullscreen mode

This is the official stable release.

It is considered ready for general use.


Development Version (dev)

Example:

3.15.0.dev1
Enter fullscreen mode Exit fullscreen mode

A development version represents an early stage of development before the Alpha stage.

The general progression is:

Development
     ↓
Alpha
     ↓
Beta
     ↓
Release Candidate
     ↓
Final Release
Enter fullscreen mode Exit fullscreen mode

What is CPython?

CPython is the original and most widely used implementation of Python.

It is written primarily in the C programming language.

When most people download and install Python from the official Python website, they are generally using CPython.

A simple representation is:

Python Code
     ↓
CPython
     ↓
Execution
Enter fullscreen mode Exit fullscreen mode

CPython is the reference implementation of Python and is the implementation most commonly used by Python developers.


What is Jython?

Jython is an implementation of Python designed to run on the Java platform.

It allows Python code to interact with Java libraries and Java applications.

In simple terms:

Python + Java Platform = Jython
Enter fullscreen mode Exit fullscreen mode

Jython can be useful when Python code needs to work with Java-based applications and libraries.


What is IronPython?

IronPython is an implementation of Python designed for the .NET platform.

It allows Python code to work with the .NET ecosystem and interact with .NET libraries.

In simple terms:

Python + .NET Platform = IronPython
Enter fullscreen mode Exit fullscreen mode

Important Features of Python

1. Simple and Easy to Learn

Python has a clean and readable syntax.

For example:

print("Hello, Python!")
Enter fullscreen mode Exit fullscreen mode

This code is simple and easy to understand.

Python syntax is designed to be close to natural language, which makes it beginner-friendly.

Compared to many other programming languages, Python generally requires less code to perform the same task.


2. Open Source

Python is open-source software.

This means:

  • Anyone can use Python.
  • Anyone can download Python.
  • Developers can study its source code.
  • Developers can contribute to its development.
  • Python can be used for personal and commercial projects.

Python is freely available to developers around the world.


3. Object-Oriented Programming

Python supports Object-Oriented Programming, commonly known as OOP.

Object-Oriented Programming allows us to organize programs using:

  • Classes
  • Objects
  • Inheritance
  • Encapsulation
  • Polymorphism
  • Abstraction

Example:

class Student:
    pass
Enter fullscreen mode Exit fullscreen mode

Here, Student is a class.

A class can be used as a blueprint for creating objects.

Python also supports other programming styles, including:

  • Procedural Programming
  • Functional Programming

Therefore, Python is a multi-paradigm programming language.


4. High-Level Programming Language

Python is a high-level programming language.

High-level languages are designed to be easier for humans to read and understand.

Example:

print("Hello, Python!")
Enter fullscreen mode Exit fullscreen mode

We do not need to directly manage:

  • CPU registers
  • Memory addresses
  • Machine instructions

The Python implementation handles many low-level details for us.

Low-Level Language

Examples:

  • Machine Language
  • Assembly Language

These languages are closer to the hardware and are more difficult for humans to understand.

High-Level Language

Examples:

  • Python
  • Java
  • JavaScript
  • C++
  • C#

These languages are easier for humans to read and write.


5. Dynamically Typed Language

Python is a dynamically typed programming language.

This means we do not need to explicitly declare the data type of a variable.

Example:

x = 10
Enter fullscreen mode Exit fullscreen mode

Python automatically understands that x contains an integer.

name = "Saravanan"
Enter fullscreen mode Exit fullscreen mode

Python understands that name contains a string.

price = 99.99
Enter fullscreen mode Exit fullscreen mode

Python understands that price contains a floating-point number.

The data type is determined automatically during program execution.


6. Interpreted Language

Python is commonly described as an interpreted programming language.

Python code is executed by the Python interpreter.

A simple representation is:

Python Source Code
        ↓
Python Interpreter
        ↓
Program Execution
Enter fullscreen mode Exit fullscreen mode

The interpreter reads and executes Python code.

In CPython, Python source code is first compiled into an intermediate form called bytecode.

The bytecode is then executed by the Python Virtual Machine, commonly known as the PVM.

A simplified representation is:

Python Source Code
        ↓
Bytecode
        ↓
Python Virtual Machine
        ↓
Execution
Enter fullscreen mode Exit fullscreen mode

7. Extensive Standard Library

Python comes with a large collection of built-in modules and libraries.

These libraries provide ready-made functionality for many tasks.

Examples include:

  • File handling
  • Mathematics
  • Date and time operations
  • Regular expressions
  • Internet communication
  • Operating system interaction

For example:

import math

print(math.sqrt(25))
Enter fullscreen mode Exit fullscreen mode

Output:

5.0
Enter fullscreen mode Exit fullscreen mode

Instead of writing the square root logic ourselves, we can use the built-in math module.

Python is often called:

"Batteries included"

This means Python provides many useful tools and libraries out of the box.


8. Large Ecosystem of Third-Party Libraries

In addition to the standard library, Python has a huge ecosystem of third-party libraries.

Developers can install additional packages to add more functionality.

Examples:

  • NumPy → Numerical computing
  • Pandas → Data analysis
  • Matplotlib → Data visualization
  • Django → Web development
  • Flask → Web development
  • TensorFlow → Machine Learning
  • PyTorch → Deep Learning
  • Requests → HTTP requests

This large ecosystem is one of the major reasons Python is so popular.


9. Platform Independent

Python is a cross-platform programming language.

Python programs can generally run on different operating systems, including:

  • Windows
  • Linux
  • macOS

For example, a Python program written on Windows can usually be executed on Linux or macOS with little or no modification.

A simple representation is:

Python Program
      ↓
Python Interpreter
      ↓
Windows / Linux / macOS
Enter fullscreen mode Exit fullscreen mode

However, certain operating-system-specific features may require modifications.


10. General-Purpose Programming Language

Python is a general-purpose programming language.

This means it is not limited to only one specific type of application.

Python can be used for:

  • Web Development
  • Automation
  • Data Analysis
  • Data Science
  • Artificial Intelligence
  • Machine Learning
  • Backend Development
  • Scripting
  • Game Development
  • Desktop Applications
  • Cybersecurity
  • Scientific Computing

Because of this flexibility, Python is useful in many different industries.


11. Portable

Python programs can often be moved from one operating system to another.

For example:

Windows
    ↓
Python Program
    ↓
Linux
Enter fullscreen mode Exit fullscreen mode

In many cases, the same Python code can work on both systems.

This makes Python portable.

However, external dependencies and operating-system-specific features may sometimes require additional configuration.


12. Extensible

Python can be extended using code written in other programming languages such as:

  • C
  • C++
  • Rust

This can be useful when high performance is required.

For example, Python can use code written in C to perform certain operations more quickly.

This allows developers to combine:

Python
   +
High-Performance Languages
Enter fullscreen mode Exit fullscreen mode

13. Embeddable

Python can be embedded inside applications written in other programming languages.

For example, Python can be integrated into applications written using languages such as C or C++.

This allows developers to use Python's flexibility inside larger software applications.


14. Automatic Memory Management

Python provides automatic memory management.

Developers generally do not need to manually allocate and release memory.

Python uses a mechanism called Garbage Collection to manage unused objects.

For example:

x = 10
Enter fullscreen mode Exit fullscreen mode

When an object is no longer needed, Python can automatically clean up the memory associated with it.

This makes programming easier and reduces certain types of memory-management errors.


Top comments (0)