
Target both beginners with no programming experience and Python programmers with 0–1 years. Deepen skills through code exercises, concurrency, and async programming, plus hands-on practice.
Choose from learning journeys, including the standard journey from chapters 1 to 15 with highlighted difficulties, quizzes, exercises, and modules, packages, unit testing, concurrency paths for first-time learners and programmers.
Set up your Python environment by installing the Python interpreter (version 3.12 or newer) and the VS Code editor with the Python extension, then run hello world.
Learn how a variable acts as a label pointing to a memory object, and how Python's dynamically typed system uses the equals operator to store integers and floats.
Master Python data types by exploring numeric, textual data, boolean, binary, and none, including integers, floats, complex, and strings, and see how type affects operations and conditions.
Master type conversion in Python by using int, float, str, and bytes, converting between numeric and string values, and understanding how addition differs for integers and strings.
Learn Python's arithmetic operators, including addition, subtraction, multiplication, division, floor division, modulus, and exponentiation, with examples using x = 5 and y = 2 and the pow function.
Demonstrate assignment operators in Python, using the equal sign to assign values and shorthand like plus equals to update variables; bitwise operations are covered later.
Explore relational operators, or comparison operators, to compare two values and yield boolean results. Use x and y to demonstrate ==, !=, >, >=, <, and <= in control flow.
Explore bitwise operators that operate on bits, including and, or, xor, not, and left or right shifts, with examples showing how to set, clear, or toggle bits in systems programming.
Explore Python membership operators in and not in to check if a value exists in a sequence or collection, including strings, lists, tuples, sets, and dictionaries, with practical examples.
Wrap up this section by reviewing Python's seven operator types—arithmetic, relational, logical, bitwise, assignment, identity, and membership—and how they compare values and manipulate data.
Learn about Python control flow, including sequential, conditional, and looping execution. See how code statements, conditions, and loops such as if else, for loop, and while loop shape program behavior.
Use if, elif, and else to branch Python programs, with nested conditions and boolean expressions. Apply these concepts to examples like assigning grades and solving fizzbuzz.
Explore structural pattern matching in Python, using match-case statements to test values against patterns, handle defaults, and implement a simple calculator example.
Explore break, continue, and pass statements within while loops to control flow. Use break to exit loops, continue to skip iterations, and pass as a placeholder.
Explore control flows across sequential, conditional, and looping structures, including if, else if, and elif, structural pattern matching, for and while loops, and break, continue, and pass.
Learn how to define and call functions in Python using the def keyword, specify input parameters and return values, and apply concepts like area of triangle and type hinting.
Explore the five types of function arguments in Python—keyword, default, positional, arbitrary positional arguments, and arbitrary keyword arguments—through clear examples and parameter mapping.
Learn how scope works in Python by comparing global and local variables to a neighborhood, and explore using non-local and global keywords to adjust scope.
Learn how the nonlocal keyword lets a nested function modify a variable in the outer scope, as shown with x changing from 10 to 15.
A recap of Python concepts from this section covers functions, the five argument types, lambda function, scope and non-local versus global, object reference passing, recursion, and type hinting.
Explore Python data structures, from primitive types to built-in structures. Learn how lists, dictionaries, sets, and tuples differ in mutability and order for efficient data access and modification.
Explore how Python lists are mutable, ordered, and heterogeneous, enabling duplicate values. Index from zero and use operations like length, append, count, pop, sort, and extend.
Learn how to replace multi-line loops with Python list comprehension to build lists quickly, including simple and conditional expressions, and even nested lists such as a 3 by 3 matrix.
Explore sets in Python as unordered, mutable collections that store only keys, not values, like dictionaries, using curly brackets, disallow duplicates, and enable fast value lookup via hashing.
Master tuples as an ordered, immutable data structure that supports duplicates and heterogeneous types, learn to extract elements, and apply common operations similar to other data structures.
Explore built-in data structures such as lists, dictionaries, sets, and tuples, and compare mutability and ordering. Learn the collections module with default dictionary, ordered dictionary, counter, and dequeue.
Master string indexing in Python by using zero-based and negative indices to access characters from left or right, and transition to string slicing.
Wrap up the section by reviewing strings, indexing, slicing, and string formatting, including the three techniques and using f-strings as the default approach.
Learn how to open, read, write, and append text and binary files in Python, manage file modes, and use with statements to auto-close and prevent data loss.
Learn three Python file reading methods: read, read line, and read lines, understand cursor movement, and how to use strip to clean data when building lists.
Learn how to write data to files in Python using the write and write lines methods, and understand how opening in write mode overwrites content.
Learn the two path types in Python—absolute and relative—and how to use pathlib or os.path to read and write files across Windows, Unix, and Mac OS.
Learn how Python context managers manage resources with enter and exit steps and the with statement for automatic cleanup. Discover class-based and function-based implementations, including decorators and generators.
Learn to work with Python files, opening and closing, using context managers, reading or writing modes, and absolute or relative paths, and a class-based context manager example.
Explore the else and finally blocks in Python after try and except, showing that else runs only when no exceptions occur and finally cleans up resources.
Create custom exceptions by defining user-defined classes that inherit from the built-in exception, raise them when needed, and handle with try/except for domain-specific, clearer error messages.
Learn how exception groups group multiple exceptions, raising and handling them with accept star in Python 3.11, including filtering, nesting, and compatible try-except usage.
Conclude by summarizing how exception handling works, including try, except, else, and finally block, creating and raising custom exception, and using exception groups.
Whether you're planning to work in software development, data science, data analytics, or simply want to learn programming, The Python Programmer course is designed to equip you with the expertise needed to develop Python professionally. This course is more than just theory – it's a hands-on journey through Python's core and advanced features, preparing you for real-world applications.
With 15+ chapters, you'll explore everything from basic syntax to advanced topics. You’ll solve 100 exercises, test your knowledge with 150+ MCQs, and optionally solve 20+ coding challenges. Each chapter is packed with practical exercises, code challenges, and quizzes that will test and solidify your understanding of Python.
This course comes with customised learning journeys to help you achieve your goals efficiently. We start with programming fundamentals like data types, control flows, and data-structures, and then progress to object-oriented programming and advanced topics like decorators, generators, and concurrency. You'll also gain valuable experience by applying Python to real-world problems, ensuring you're ready for any Python-related task in your career.
Whether you want to enhance your programming skills or learn about some advanced topics in Python, I've incorporated all of my knowledge and experience into this course to ensure it provides the tools and confidence you need to succeed. I hope you enjoy this course and get the best experience out of this journey!
Shehab