The Complete Python Course

Video description

With its increasing popularity in the last few years, the demand for Python skills in the job market is booming. Equipped with Python skills, you can easily enter some of the most exciting industries, including data science, web applications, and home automation.

Python, covering the basics and the installation process. As you advance, you’ll understand all about the inner workings of Python and write professional-grade code to develop applications by following the principles of Python and object-oriented programming (OOP). Once you've got to grips with the fundamentals, you’ll delve into advanced Python concepts such as handling databases in Python, web development, and web scraping. You’ll also interact with APIs and learn advanced OOP concepts and GUI development with Tkinter. Toward the end, you’ll perform unit testing, learn about algorithms, data structures, and Python libraries, and end with a refresher on the major Python topics that’ll help you to encapsulate your learning so far.

By the end of this course, you’ll have mastered the Python skills needed to build robust and powerful applications.

What You Will Learn

  • Get an extensive experience of implementing Python and OOP concepts
  • Automate data extraction from websites using web scraping libraries
  • Build a currency converter to interact with REST APIs using Python
  • Find out how to control your browser with Selenium
  • Write desktop applications with Python and Tkinter
  • Perform unit testing to make your application bug free


If you are new to programming and want to start by learning one of the most popular languages in the world or an experienced programmer looking to kick-start your Python journey, this course is for you. Python programmers who want to refresh their skills and tackle advanced topics such as algorithms and asynchronous programming will also find this course useful.

About The Authors

Codestars By Rob Percival: Codestars, by Rob Percival, is a revolutionary online learning platform on a mission to transform the way people learn to code. With a focus on simplicity, logic, and fun, Rob has empowered over half a million students through his courses.

Recognizing the need for diverse and comprehensive learning experiences, Rob established Codestars as a collaborative effort. Codestars provides learners of all ages and proficiency levels with the tools and knowledge needed to build functional websites and apps. By making coding accessible and enjoyable, Codestars aims to simplify the learning journey and unlock the potential of aspiring coders worldwide.

Jose Salvatierra Fuentes: Jose Salvatierra has been teaching online for over seven years, and he loves helping students learn to code and master software development. He founded Teclado to bring software development to everyone; his objective is for you to truly understand everything that goes on behind the scenes.

Coding is extremely rewarding. As you learn, things start to click and make sense. You can join the dots of all the things that weren’t quite clear before.

Jose can help you with Python and JavaScript issues, particularly in web and backend development. He is experienced with programming libraries and frameworks such as Flask, React, React Native, and AngularJS. He has worked extensively with UNIX systems, MongoDB, PostgreSQL, and advanced system architecture design.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Introduction to Python
    1. Welcome to this Course!
    2. Overview of the Course Curriculum
    3. Our Python Coding Environment
    4. Writing the First Code! Variables and Printing
    5. Numbers in Python
    6. Calculating the Remainder of a Division
    7. Python Strings
    8. Python String Formatting
    9. Getting a User Input in Python
    10. Booleans and Comparisons in Python
    11. AND and OR in Python
    12. Lists in Python
    13. Tuples in Python
    14. Sets in Python
    15. Advanced Set Operations
    16. Python Dictionaries
    17. Length and Sum
    18. Joining a list
  2. Chapter 2 : Python Fundamentals
    1. If Statements in Python
    2. While Loops in Python
    3. For Loops in Python
    4. Destructuring Syntax
    5. Iterating over Dictionaries
    6. Break and Continue
    7. The Else Keyword with Loops
    8. Finding Prime Numbers with For Loops
    9. List Slicing in Python
    10. List Comprehension in Python
    11. Comprehensions with Conditional Statements
    12. Set and Dictionary Comprehensions
    13. The Zip Function
    14. Functions in Python
    15. Arguments and Parameters
    16. Functions and Return Values in Python
    17. Default Parameter Values
    18. Lambda Functions in Python
    19. First Class and Higher Order Functions
  3. Chapter 3 : Milestone Project 1
    1. Installing Python on your Computer
    2. Installing PyCharm on your Computer
    3. Creating the First PyCharm Project
    4. Setting up the PyCharm Font and Display Settings
    5. Milestone Project Brief
    6. Milestone Project Implementation
    7. Showing the User Movies
    8. Finding Movies and Retrieving Details
  4. Chapter 4 : Object-Oriented Programming with Python
    1. Intro to Object-Oriented Programming with Python
    2. More about Classes and Objects
    3. Parameter Naming in Python
    4. Magic Methods in Python
    5. Inheritance in Python
    6. The @property Decorator
    7. The @classmethod and @staticmethod Decorators in Python
    8. More @classmethod and @staticmethod Examples
  5. Chapter 5 : Errors in Python
    1. Intro to Errors in Python
    2. Built-in Errors in Python
    3. Raising Errors in Python
    4. Creating Errors in Python
    5. Dealing with Python Errors
    6. The On-success Block and Re-raising Exceptions
    7. Handling User Errors
    8. Debugging with PyCharm
  6. Chapter 6 : Files in Python
    1. Files in Python
    2. Python Exercise: Copying Files
    3. CSV Files with Python
    4. JSON Files with Python
    5. Using the “with” Syntax in Python
    6. Importing Files
    7. Python Relative Imports: Children
    8. Python Relative Imports: Parents
    9. Importing Errors and Running as a Python Script
  7. Chapter 7 : Databases in Python and Milestone Project 2
    1. Intro to Milestone Project 2
    2. Milestone Project with Lists
    3. Storing Books in Files
    4. Using JSON instead of CSV
    5. Intro to Databases in Python
    6. Using SQLite in Python
    7. Some Database Jargons
    8. Creating Books Table Using Python
    9. Inserting Books Using Python
    10. SELECT Examples
    11. Getting All Books
    12. UPDATE and DELETE Statements
    13. Filtering using the WHERE Clause
    14. Finishing the Milestone Project
    15. Ordering and Limiting
    16. Developing the Context Manager in Python
    17. Errors in Context Managers
  8. Chapter 8 : Type Hinting in Python
    1. Typing in Python
    2. Further Reading
  9. Chapter 9 : Advanced Built-in Functions in Python
    1. Generators in Python
    2. Python Generator Classes and Iterators
    3. Iterables in Python
    4. The Filter() Function in Python
    5. The Map() Function in Python
    6. Any() and All() Functions in Python
  10. Chapter 10 : Advanced Python Development
    1. Mutability in Python
    2. Argument mutability in Python
    3. Default values for parameters
    4. Mutable default arguments (bad idea)
    5. Argument unpacking in Python
    6. Queues in Python
    7. Some interesting Python collections
    8. Timezones
    9. Dates and time in Python
    10. Timing Your Code in Python
    11. Regular expressions
    12. Regex examples
    13. Regex in Python
    14. Introduction to logging in Python
    15. Logging to a file and other features
    16. Logging to a file and other features
  11. Chapter 11 : Web Scraping with Python
    1. Markup Languages: The Structure of HTML Code
    2. Understanding HTML with BeautifulSoup
    3. More Complex HTML Parsing
    4. Structuring Parsing Program Better
    5. Splitting HTML Locators out of the Python Class
    6. Understanding HTML with the Browser
    7. Scraping the First Website with Python
    8. Milestone Project 3: A Quote Scraper
    9. Quotes Project 2: Structuring a Scraping App in Python
    10. Quotes Project 3: Getting Locators
    11. Quotes Project 4: Crafting a Quote Parser
    12. Quotes Project 5: The Quotes Page
    13. Quotes Project 6: Recap of the Project
    14. Milestone Project 4: A Book Scraper + Application
    15. Books Project 2: Recap of HTML Locators
    16. Books Project 3: Creating Locators in Python
    17. Books Project 4: Creating a Page
    18. Books Project 5: Creating a Book Parser
    19. Books Project 6: Writing an App File
    20. Books Project 7: Sorting the Books
    21. Books Project 8: Constructing a Menu
    22. ASIDE: The Best Way to Write User Menus
    23. Books Project 9: Getting Multiple Pages
    24. Books Project 10: Multiple Pages in Python
    25. Books Project 11: Getting the Page Count in Python
    26. Books Project 12: Adding the Logging Module to a Python Project
    27. A Word on Scraping Pages with JavaScript
  12. Chapter 12 : Browser Automation with Selenium
    1. Introduction to this Section
    2. Review of Quotes Scraping Code
    3. Downloading ChromeDriver
    4. Using Chrome in Scraping Code
    5. New Page Locators
    6. Interacting with Drop-downs
    7. Selecting Tags
    8. Searching for Quotes
    9. Encapsulating Logic More Simply
    10. Adding Error Handling
    11. Implicit and Explicit Waits in Selenium
    12. Adding Waits to a Program Code
  13. Chapter 13 : Asynchronous Python Development
    1. The Dining Philosophers Problem
    2. Processes and Threads
    3. The Python Global Interpreter Lock (GIL)
    4. Example: Threads in Python
    5. Using Python concurrent.futures with the ThreadPoolExecutor
    6. Don't Kill Threads
    7. Multiprocessing in Python
    8. Using Python concurrent.futures and the ProcessPoolExecutor
    9. Dealing with Shared State in Threads
    10. Queuing in Threads with Shared State
    11. Using Python Generators Instead of Threads
    12. First Single-threaded Task Scheduler in Python
    13. Yielding from Another Iterator in Python
    14. Receiving Data Through Yield
    15. The Async and Await Keywords
    16. More explanations and examples
    17. Asynchronous Scraper
    18. Making the First Async Request in Python
    19. Retrieving Multiple Pages Efficiently
    20. Using the async_timeout for Security
    21. Turning our Book Scraping Project async
    22. HTTPS with Python and Mac OS X
  14. Chapter 14 : Python on the Console and Managing Project Dependencies
    1. Running Python in the Console
    2. Running Python
    3. What is a virtualenv?
    4. Navigating the Terminal and Using virtualenv
    5. Using pipenv
    6. pipenv and virtualenv
  15. Chapter 15 : Web Development with Flask
    1. Setting up Project with Pipenv
    2. First Flask Endpoint
    3. Returning Information with Flask and Pythons
    4. Rendering HTML with Flask and Python
    5. Error Pages and Jinja2 Inheritance
    6. Rendering Forms with Flask and Python
    7. Accessing POST Form Data with Flask
    8. Adding a Form in a Single Endpoint
    9. Using Jinja2 For Loops to Create a Nice Homepage
    10. Adding Website Navigation
  16. Chapter 16 : Interacting with APIs in Python
    1. Signing up for Openexchangerates
    2. Getting All Exchange Rates from the API
    3. Creating a Currency Exchange Library
    4. Caching Functions with Functools
    5. Performing TTLCache with Cachetools
  17. Chapter 17 : Decorators in Python
    1. A Simple Decorator in Python
    2. Using Syntax
    3. Functools Wraps in Python
    4. Decorating Functions with Parameters
    5. Decorators with Parameters
    6. Functions that Accept Multiple Arguments
    7. Using Generic Decorators for any Function
  18. Chapter 18 : Advanced Object-Oriented Programming
    1. Introduction to Multiple Inheritance with Python
    2. Introduction to Abstract Base Classes (ABCs) in Python
    3. The Usefulness of ABCs
    4. The Relationship Between Abstract Base Classes (ABCs) and Interfaces
    5. The Property Setter in Python
  19. Chapter 19 : Graphical User Interface (GUI) Development with Tkinter
    1. Setting up Tkinter
    2. Hello World in Tkinter
    3. Labels and Fields
    4. Packing Components
    5. Using Frames for Different Layouts
    6. Starting the Text Editor Project
    7. Tkinter Notebooks and Creating Files
    8. Adding a Menu to an Application
    9. Saving Files to a Disk
    10. Opening Files
    11. Binding Shortcuts in Tkinter
    12. Checking Tabs for Unsaved Changes
    13. Confirming Exit with Unsaved Changes
    14. Closing Individual Tabs
    15. Adding Another Menu
    16. Adding a Permanent Scrollbar to the Text Area
  20. Chapter 20 : Unit Testing with Python
    1. Introduction to this Section
    2. Testing Functions
    3. Testing for Errors
    4. Testing the Multiplication Function
    5. Writing a Printer Class for Testing
    6. Testing Classes
    7. More Printer Tests
    8. Testing External Libraries
    9. Conclusion of this Section
  21. Chapter 21 : Algorithms and Data Structures
    1. Presentation: Queues, Stacks, and Complexity
    2. Presentation: Binary Search
    3. Presentation: Binary Trees
    4. Presentation: Traversal of Binary Trees
    5. Presentation: Adding Elements to a Binary Tree
    6. Adding Elements to a Binary Tree in Python
    7. Recursion and Inorder Traversal in Python
    8. Finding Nodes in a Tree with Python
    9. Deleting Nodes from a Binary Tree
    10. Deleting Nodes in Code with Python
    11. Deleting Nodes with Two Children in a Code
    12. Testing a Binary Tree
  22. Chapter 22 : Python Libraries
    1. Python Libraries Overview
    2. Using Pylint
    3. Using Yapf
    4. Sending E-mails with smtplib
    5. Sending E-mails with Mailgun
    6. Creating a Re-usable Mailgun Library
    7. Sneak Peek: Integrated Development Environment (IDE) Setup
  23. Chapter 23 : Python Reference/Refresher
    1. Variables in Python
    2. String Formatting in Python
    3. Getting the User Input
    4. Lists, Tuples, and Sets
    5. Advanced Set Operations
    6. Booleans in Python
    7. If Statements in Python
    8. The “in” Keyword
    9. If Statements with the “in” Keyword
    10. Loops in Python
    11. List Comprehensions
    12. Dictionaries
    13. Destructuring Variables
    14. Functions in Python
    15. Function Arguments and Parameters
    16. Default Parameter Values
    17. Functions Returning Values
    18. Lambda Functions in Python
    19. Dictionary Comprehensions
    20. Unpacking Arguments
    21. Unpacking Keyword Arguments
    22. Object-Oriented Programming in Python
    23. Magic methods: __str__ and __repr__
    24. Class Methods and Static Methods
    25. Class Inheritance
    26. Class Composition
    27. Type Hinting
    28. Importing Files in Python
    29. Relative Imports in Python
    30. Errors in Python
    31. Custom Error Classes
    32. First-class Functions
    33. Simple Decorators in Python
    34. The “at” Syntax for Decorators
    35. Decorating Functions with Parameters
    36. Decorators with Parameters
    37. Mutability in Python
    38. Mutable Default Parameters

Product information

  • Title: The Complete Python Course
  • Author(s): Jose Salvatierra Fuentes, Codestars by Rob Percival
  • Release date: August 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781839217289