< Back To All Road Maps

Python Roadmap

Confused about what to learn and how to kick-start to become a Python developer? This roadmap outlines a comprehensive path to becoming a Python developer.

Python Roadmap

Confused about what to learn and how to kick-start to become a Python developer? This roadmap outlines a comprehensive path to becoming a Python developer.

Python Basics

Python Basics

Developed by Guido Van Rossum in 1991, Python is a general-purpose language for creating web and software applications, automating tasks, and analyzing and visualizing data. 
To get started with Python, you need to learn the basics first.  


Blogs:

  1. What is Python

Courses: 

  1. Learn Python: The Complete Python Programming Course
  2. Python for Beginners - Learn Programming from scratch
  3. The Modern Python 3 Bootcamp
  4. The Python Bible™ | Everything You Need to Program in Python
     
  • Basic Python Syntax
  • Basic Python Syntax

    Python syntax is specially designed for code reliability. It eliminates the use of semicolons after the end of a statement and curly braces to delimit the code blocks. Instead, it leverages indentation, i.e., spaces, to define the scope of functions, loops, and classes. 

     

  • Indentation Rules and Comments
  • Indentation Rules and Comments

    Indentation implies spaces at the beginning of a code statement. It is advisable to use whitespaces rather than tabs. Also, it indicates a block of code. 
    Python comments make code more readable and begin with ‘#’. There is no syntax for multi-line comments. 

    Read:

    1. Python indentation 
  • Variables and Data Types
  • Variables and Data Types

    A Variable is any name assigned to a memory location or a container to store a data value. There is no command in Python to declare a variable. 
    A data type in Python represents the type of value you assign to a variable. There is no need to define the data type of a variable. 

    Read:

    1. Python data types
    2. Python Variables
  • Type Casting
  • Type Casting

    Type casting is a process of converting the data type of variable into another desired data type. Python supports implicit and explicit type casting.
    While implicit type casting takes place automatically, explicit type casting requires user involvement. 


    Read:

    1. Python Type Conversion and Type Casting
       
  • Operators
  • Operators

    Operators in Python are used to perform operations on variables. Python supports Arithmetic operators, assignment operators, comparison operators, logical operators, identity operators, membership operators, and bitwise operators. 

    Read:

    1. Python operators
  • Conditional Statements
  • Conditional Statements

    Conditional statements or decision-making statements in Python are used to execute a specific block of code if the specified condition evaluates to true. Python comes with if, if-else, elif, nest if-else, and switch-case conditional statements. 


    Read:

    1. Python conditional statements
  • Loops and Iterators
  • Loops and Iterators

    Python loops are used to execute a particular block of code a given number of times. Three types of loops supported by Python are for loop, while loop, and do-while loop.
    A Python iterator is an object that navigates through all the values within the iterable objects, such as lists, dictionaries, tuples, and sets. 
     


    Read:

    1. Python for loop
    2. Python while loop
    3. Python Looping techniques

     

Python Data Structure

Python Data Structure

A data structure is a way of storing and organizing data to make it easier to access and manipulate data. In python, there are built-in data structures, like lists, tuples, sets, dictionaries, and booleans, making programming easier. 


Read:

1. Python Data Structure


Course:

1. Python for Data Structures, Algorithms, and Interviews!

2. Algorithms and Data Structures in Python (INTERVIEW Q & A)

3. The Complete Data Structures and Algorithms Course in Python

  • Lists
  • Lists

    A list stores a sequence of items with different data types in a single variable. Each item or element in a list has an index through which it can be accessed. However, the index starts from 0, i.e., the first element in a list has an index 0. All the elements of a list are enclosed within square brackets. 
     


    Read:

    Python List

    Python List Methods

  • Tuples
  • Tuples

    A tuple is analogous to a list. The only difference is that elements cannot be changed once entered in a tuple. However, if data inside the tuple is mutable, it can be changed. The elements of a tuple are enclosed within parentheses. 


    Read:

    Python Tuple

  • Dictionary
  • Dictionary

    A dictionary stores data in the form of a key-value pair. It is an ordered collection of data whose data is changeable and does not allow duplicates. Key-value pairs are enclosed within curly brackets. 
     


    Read:

    Python Dictionary 

  • Sets
  • Sets

    A set in Python is a collection of unique unordered elements. If the data is entered twice in a set, it only takes it once. It is analogous to sets in arithmetic. In addition, items in a set are enclosed within curly braces. 
     


    Read:

    Python Set

  • Booleans
  • Booleans

    Booleans in Python represents one of the two values, i.e., either True or False. The primary purpose of Booleans is to represent the truth value of an expression. There is a bool() method that takes any value and returns the boolean value. 

  • Slicing in Python
  • Slicing in Python

    Slicing is the process of extracting a part of a string, tuple, or list in Python. It lets users access a specific range of items by using their indexes. 
     


    Read:

    Python List,tuple,and string slicing

Python Functional Programming

Python Functional Programming

Functional programming is a programming paradigm with a declarative style. It tries to bind everything in the code in the pure mathematical functions style. It focuses on ‘what to solve’ rather than ‘how to solve’. 
 

  • Built in Functions
  • Built in Functions

    Python comes with an array of built-in functions that are readily available for use. These functions have their functionality pre-defined in Python.  


    Read:

    Python Functions

  • Custom Functions
  • Custom Functions

    Often called user-defined functions, custom functions are created by users to accomplish a specific task and are not predefined like built-in functions. To declare a function, Python provides the ‘def’ keyword. 

    Read:

    Python Functions

  • Lambda Functions
  • Lambda Functions

    A lambda function in Python is any small anonymous function. It is a function without a name. It is defined using the ‘lambda’ keyword. In addition, it can have multiple arguments but only one expression. 


    Read:

    Python Labmda

  • Decorators
  • Decorators

    Decorators in Python are used to add new functionality to an existing code. It is often referred to as metaprogramming as one part of the code modifies the other during the compile time. 
     


    Read:

    Python Lambda

  • Closures
  • Closures

    Python closures are simply the inner functions enclosed within the outer function. They can access the variables present in the scope of the outer function, even if it completes its execution. 


    Read:

    Python Closures

  • Generators
  • Generators

    Python generators are a simple approach to creating iterators. In general, a generator is a type of function that does not return any value. Instead, it returns an iterable object.
     


    Read:

    Python Generators

Python Object Oriented Programming

Python Object Oriented Programming

Object-oriented is a programming paradigm that works on the basis of classes and objects. It binds data and functions that work on it together as a single unit. 
 

  • Class and Objects
  • Class and Objects

    A class is a collection of objects, where an object is any real-world entity that has a state and behavior. An object can be anything, such as a chair, table, mouse, keyboard, pen, etc. 
     


    Read:

    Python Class and Objects

  • Inheritance
  • Inheritance

    Inheritance refers to the ability of a class to inherit or derive the properties of another class. The class that derives the properties is the child class, and the class from which properties are inherited is the parent class. 


    Read:

    Python Inheritance

  • Polymorphism
  • Polymorphism

    Polymorphism simply refers to multiple forms. In Python, polymorphism refers to the idea that methods in the child class have the same name as the methods in the parent class. 
     


    Read:

    Python Polymorphism

  • Encapsulation
  • Encapsulation

    Encapsulation is basically data hiding. It binds data and methods working with that data in a single unit. It restricts accessing variables and methods directly to prevent fortuitous changes to data. 
     

  • Data Abstraction
  • Data Abstraction

    Data abstraction allows hiding unnecessary code details from the users. Also, it lets programmers hide the sensitive segments of the code implementation. In Python, it is achieved by creating abstract classes. 
     

  • Methods and Dunder
  • Methods and Dunder

    Methods in Python are the reusable blocks of code defined inside a class. Python offers three types of methods: Instance Method, Class Method, and Static Method
    Dunder methods or magic methods in Python begin and end with double underscores. 

Python Modules and Packages

Python Modules and Packages

Modules and packages in Python encourage the ideal of modular programming. It is a technique of dividing large programming tasks into subtasks or modules. 
 

  • Modules vs Packages
  • Modules vs Packages

    A module in Python is a simple file with the .py extension containing a set of functions and global variables. 
    A package in Python is a simple directory, which is a collection of multiple modules. Along with modules, it also contains the __init()__.py file. Basically, a package is a namespace. 
     


    Read:

    Python Module

    Python Packages

  • pip and PyPI packages
  • pip and PyPI packages

    pip stands for Package Installer for Python, which is a de-facto system for installing and managing software packages in Python. 
    PyPI is an acronym for Python Package Index, which helps you find and install software developed and shared by the Python community. 

  • Importing Modules and Packages
  • Importing Modules and Packages

    To import a package in a Python program, use the ‘import’ keyword followed by the package name. However, to import a specific module from the package, use the dot (.) operator followed by the module name after the package name. 

File and Exception Handaling

File and Exception Handaling

Python provides several functions for handling files, i.e., creating, reading, updating, and deleting files. 
Exceptions are unwanted events that interrupt the flow of a program. Python comes with many built-in exceptions to enable a program to execute without any interruption and provide the output. 
 

  • Read and Write between files
  • Read and Write between files

    Python offers the read() and write() methods to read and write files. The read() method reads a string from an open file, while the write() method writes a string to an open file.


    Read:

    Python File I/O
     

  • Managing Files and Directories
  • Managing Files and Directories

    A directory often referred to as a folder, is a collection of files and subdirectories. Python comes with the ‘os’ module to provide us with useful methods to work with directories. 


    Read:

    Python File Management

  • Custom and Built in Errors
  • Custom and Built in Errors

    As there are built-in exceptions in Python, it provides developers with the ability to create custom exceptions. To do so, create a new class (Exception class) and derive it from the built-in ‘Exception’ class either directly or indirectly.


    Read:

    Python Exception Handling

Basic Linux Commands

Basic Linux Commands

Linux provides basic commands that help novices and seasoned programmers navigate through Linux with ease. Every Linux system comes with a command-line of one or the other types for running the basic Linux commands. 
 


Read:

Git Commands

  • Hand on experience with Linux commands
  • Hand on experience with Linux commands

    Linux commands are categorized into various types, such as informational commands, management commands, file and directory commands, and many more. Practice these commands and gain hands-on experience. 
     

Git and GitHub Basic

Git and GitHub Basic

Git and GitHub are two popular and significant technologies that every developer should learn. The former is an open-source version control system for keeping track of changes that a developer makes to a file over time. The latter is an online hosting service for Git repositories. 
 

  • Learn Git and its commands
  • Learn Git and its commands

    Git comes with a command-line tool and various commands to make it easy for developers to work on local and remote repositories. Learning these commands offers great benefits to developers in managing their projects. 
     

  • Learn GitHub working
  • Learn GitHub working

    A good GitHub profile actually impresses employers. Having a GitHub profile on your resume results in better chances of job opportunities. So, learning the working of GitHub can help you stand out from the crowd. 
     

Python Applications

Python Applications

Being a versatile language, Python is used in developing a variety of applications and also for other purposes, such as web scraping, task automation, hacking, and data analysis and visualization.