The Complete Python Course

Video Description

Go from beginner to expert in Python by building projects. The best investment for your Python journey!

About This Video

  • Develop a lifelong love for programming with Python!
  • From foundations to expert, learn about every major Python topic.
  • Master Object-Oriented Programming and structure your Python programs like a professional.

In Detail

The course covers every major Python topic (including Object-Oriented Programming, Web Scraping, and even GUI development), and now includes even more content.

  • Control your browser using Selenium, to scrape websites or even fill in forms
  • Learn to interact with REST APIs and build a currency exchange program
  • Create desktop GUIs using Tkinter, so your users can work with your applications very easily
  • Start working with unit testing in Python by learning about the unit test library

We've also completely re-recorded the course's introductory Python material, so it's even clearer and more straightforward!

This course will take you from beginner to expert in Python, easily and quickly. We've ensured every piece of content is concise and straightforward and will never leave you confused. This course dives right into Python and makes you productive right from the start.

This is the best investment you can make in your Python journey.

Publisher Resources

Download Example Code

Table of Contents

  1. Chapter 1 : Intro to Python
    1. Welcome to this course! 00:03:26
    2. Overview of the course curriculum 00:02:48
    3. Our Python coding environment 00:02:29
    4. Writing our first code! Variables and printing 00:04:06
    5. Numbers in Python 00:03:11
    6. Calculating the remainder of a division 00:04:09
    7. Python strings 00:06:57
    8. Python string formatting 00:07:09
    9. Getting user input in Python 00:08:08
    10. Booleans and comparisons in Python 00:04:26
    11. and & or in Python 00:08:50
    12. Lists in Python 00:08:06
    13. Tuples in Python 00:05:30
    14. Sets in Python 00:02:46
    15. Advanced set operations 00:04:52
    16. Python dictionaries 00:07:47
    17. Length and sum 00:02:48
    18. Joining a list 00:02:05
  2. Chapter 2 : Python fundamentals
    1. If statements in Python 00:12:22
    2. While loops in Python 00:06:15
    3. For loops in Python 00:07:28
    4. Destructuring syntax 00:03:19
    5. Iterating over dictionaries 00:02:30
    6. Break and continue 00:04:12
    7. The else keyword with loops 00:03:48
    8. Finding prime numbers with for loops 00:05:35
    9. List slicing in Python 00:04:02
    10. List comprehension in Python 00:09:02
    11. Comprehensions with conditionals 00:06:16
    12. Set and dictionary comprehensions 00:05:08
    13. The zip function 00:02:43
    14. Functions in Python 00:04:10
    15. Arguments and parameters 00:10:16
    16. Functions and return values in Python 00:09:26
    17. Default parameter values 00:07:26
    18. Lambda functions in Python 00:06:09
    19. First class and higher order functions 00:08:31
  3. Chapter 3 : Milestone Project 1
    1. Installing Python in your computer 00:02:19
    2. Installing PyCharm in your computer 00:02:56
    3. Creating our first PyCharm project 00:05:45
    4. Setting up PyCharm font and display settings 00:02:44
    5. Coding our application's menu in Python 00:13:20
    6. Adding new movies to our application 00:09:38
    7. Showing the user their movies 00:06:58
    8. Finding movies and retrieving their details 00:12:49
  4. Chapter 4 : Object-Oriented Programming with Python
    1. Intro to Object-Oriented Programming with Python 00:17:02
    2. More about classes and objects 00:09:17
    3. Parameter naming in Python 00:03:54
    4. Magic methods in Python 00:12:57
    5. Inheritance in Python 00:08:46
    6. The @property decorator 00:04:19
    7. @classmethod and @staticmethod in Python 00:07:27
    8. More @classmethod and @staticmethod examples 00:12:06
  5. Chapter 5 : Errors in Python
    1. Intro to errors in Python 00:13:13
    2. Built in errors in Python 00:17:58
    3. Raising errors in Python 00:10:59
    4. Creating our own errors in Python 00:13:42
    5. Dealing with Python errors 00:09:01
    6. The on-success block and re-raising exceptions 00:11:22
    7. Debugging with Pycharm 00:16:38
  6. Chapter 6 : Files in Python
    1. Files in Python 00:10:56
    2. Python Exercise: copying files 00:20:38
    3. CSV files with Python 00:09:36
    4. JSON files with Python 00:17:33
    5. Using the with syntax in Python 00:05:01
    6. Importing our own files 00:10:29
    7. Python relative imports: children 00:15:19
    8. Python relative imports: parents 00:05:44
    9. Import errors and running as a Python script 00:05:27
  7. Chapter 7 : Databases in Python & Milestone Project 2
    1. Intro to Milestone Project 2 00:05:53
    2. Milestone Project with lists 00:17:53
    3. Storing books in files 00:19:31
    4. Using JSON instead of CSV 00:09:59
    5. Intro to databases with Python 00:07:03
    6. Using SQLite in Python 00:02:37
    7. Some database jargon 00:04:08
    8. Creating our books table using Python 00:05:50
    9. Inserting books using Python 00:06:20
    10. SELECT examples 00:03:13
    11. Getting all our books 00:06:31
    12. UPDATE and DELETE 00:02:14
    13. Filtering with WHERE 00:05:00
    14. Finishing the Milestone Project 00:07:46
    15. Ordering and limiting 00:02:37
    16. Developing our context manager in Python 00:10:11
    17. Errors in context managers 00:06:55
  8. Chapter 8 : Type hinting in Python
    1. Typing in Python 00:12:11
    2. Further reading 00:01:44
  9. Chapter 9 : Advanced built-in functions in Python
    1. Generators in Python 00:12:39
    2. Python generator classes and iterators 00:08:15
    3. Iterables in Python 00:07:48
    4. The filter() function in Python 00:08:43
    5. The map() function in Python 00:05:40
    6. any() and all() in Python 00:04:59
    7. The enumerate() function 00:04:19
  10. Chapter 10 : Advanced Python Development
    1. Mutability in Python 00:11:50
    2. Argument mutability in Python 00:12:16
    3. Default values for parameters 00:05:03
    4. Mutable default arguments (bad idea) 00:06:39
    5. Argument unpacking in Python 00:11:17
    6. Queues in Python 00:03:21
    7. Some interesting Python collections 00:25:55
    8. Timezones 00:08:46
    9. Dates and time in Python 00:12:47
    10. Timing your code with Python 00:12:32
    11. Regular expressions 00:08:28
    12. Regex examples 00:13:36
    13. Regex in Python 00:13:08
    14. Introduction to logging in Python 00:10:36
    15. Logging to a file and other features 00:04:17
  11. Chapter 11 : Web Scraping with Python
    1. Understanding HTML with BeautifulSoup 00:18:45
    2. More complex HTML parsing 00:22:18
    3. Structuring our parsing program better 00:05:41
    4. Splitting HTML locators out of our Python class 00:04:03
    5. Understanding HTML with the browser 00:06:36
    6. Scraping our first website with Python 00:06:42
    7. Milestone Project 3: A Quote Scraper 00:04:14
    8. Quotes Project 2: Structuring a scraping app in Python 00:02:42
    9. Quotes Project 3: Getting our locators 00:05:10
    10. Quotes Project 4: Crafting our quote parser 00:04:51
    11. Quotes Project 5: The quotes page 00:04:31
    12. Quotes Project 6: Recap of the project 00:03:54
    13. Milestone Project 4: A Book Scraper + application 00:05:01
    14. Books Project 2: Recap of HTML locators 00:04:53
    15. Books Project 3: Creating locators in Python 00:04:26
    16. Books Project 4: Creating our page 00:03:28
    17. Books Project 5: Creating our book parser 00:11:02
    18. Books Project 6: Writing our app file 00:03:56
    19. Books Project 7: Sorting the books 00:08:50
    20. Books Project 8: Constructing our menu 00:06:03
    21. ASIDE: The best way to write user menus 00:01:29
    22. Books Project 9: Getting multiple pages 00:02:38
    23. Books Project 10: Multiple pages in Python 00:05:27
    24. Books Project 11: Getting the page count in Python 00:06:33
    25. Books Project 12: Adding logging to our Python project 00:20:29
    26. A word on scraping pages with JavaScript 00:03:15
  12. Chapter 12 : Browser Automation with Selenium
    1. Introduction to this section 00:01:39
    2. Review of our quotes scraping code 00:05:01
    3. Downloading chromedriver 00:02:01
    4. Using Chrome in our scraping code 00:06:26
    5. Our new page locators 00:03:45
    6. Interacting with dropdowns 00:04:07
    7. Selecting tags 00:05:17
    8. Searching for quotes 00:02:17
    9. Encapsulating logic more simply 00:05:03
    10. Adding some error handling 00:01:40
    11. Implicit and explicit waits in Selenium 00:06:49
    12. Adding waits to our program code 00:07:05
  13. Chapter 13 : Asynchronous Python Development
    1. Browser Automation with Selenium 00:07:38
    2. Processes and threads 00:09:25
    3. The Python GIL 00:10:30
    4. Using Python concurrent.futures: the ThreadPoolExecutor 00:12:40
    5. Don't kill threads! 00:03:09
    6. Multiprocessing in Python 00:01:49
    7. Using Python concurrent.futures: the ProcessPoolExecutor 00:07:24
    8. Dealing with shared state in threads 00:02:15
    9. Queuing in threads with shared state 00:08:32
    10. Using Python generators instead of threads 00:12:26
    11. Our first single-threaded task scheduler in Python 00:04:50
    12. Yielding from another iterator in Python 00:06:04
    13. Receiving data through yield 00:05:37
    14. The async and await keywords 00:09:35
    15. Watch these talks for more explanations and examples! 00:06:10
    16. Our asynchronous scraper 00:01:52
    17. Making our first async request in Python 00:04:43
    18. Getting multiple pages efficiently 00:14:49
    19. Using async_timeout for security 00:10:24
    20. Adding some error handling 00:01:46
    21. Implicit and explicit waits in Selenium 00:10:16
    22. Adding waits to our program code 00:03:13
  14. Chapter 14 : Python on the console and managing project dependencies
    1. Browser Automation with Selenium 00:08:50
    2. Processes and threads 00:05:51
    3. The Python GIL 00:10:43
    4. Using Python concurrent.futures: the ThreadPoolExecutor 00:09:50
    5. Don't kill threads! 00:09:39
    6. Multiprocessing in Python 00:04:06
  15. Chapter 15 : Web Development with Flask
    1. Setting up our project with Pipenv 00:05:42
    2. Our first Flask endpoint 00:07:37
    3. Returning information with Flask and Pythons 00:04:55
    4. Rendering HTML with Flask and Python 00:06:24
    5. Error pages and Jinja2 inheritance 00:11:40
    6. Rendering forms with Flask and Python 00:14:21
    7. Accessing POST form data with Flask 00:04:48
    8. Putting our form in a single endpoint 00:03:03
    9. Using Jinja2 for loops to create a nicer homepage 00:07:58
    10. Adding navigation to our website 00:04:54
  16. Chapter 16 : Interacting with APIs with Python
    1. Signing up to OpenExchangeRates 00:01:41
    2. Getting all exchange rates from the API 00:05:31
    3. Creating a currency exchange library 00:07:26
    4. Caching functions with functools 00:04:49
    5. TTL caches with cachetools 00:02:05
  17. Chapter 17 : Decorators in Python
    1. A simple decorator in Python 00:06:08
    2. Using a @syntax 00:03:23
    3. Functools wraps in Python 00:01:55
    4. Decorating functions with parameters 00:04:56
    5. Decorators with parameters 00:09:50
    6. Functions that accept multiple arguments 00:05:29
    7. Generic decorators for any function 00:03:54
  18. Chapter 18 : Advanced Object-Oriented Programming
    1. Advanced Object-Oriented Programming 00:13:23
    2. Intro to ABCs in Python 00:08:07
    3. Intro to ABCs in Python 00:03:21
    4. The relationship between ABCs and interfaces 00:06:49
    5. The property setter in Python 00:11:09
  19. Chapter 19 : GUI Development with Tkinter
    1. Setting up Tkinter 00:02:48
    2. Hello world in Tkinter 00:07:38
    3. Labels and fields 00:05:23
    4. Packing components 00:11:58
    5. Using frames for different layouts 00:03:42
    6. Starting our text editor project 00:00:56
    7. Tkinter notebooks and creating files 00:03:33
    8. Adding a menu to our application 00:04:12
    9. Saving files to disk 00:08:00
    10. Opening files 00:04:20
    11. Binding shortcuts in Tkinter 00:04:42
    12. Checking our tabs for unsaved changes 00:08:17
    13. Confirming exit with unsaved changes 00:04:25
    14. Closing individual tabs 00:05:21
    15. Adding another menu 00:01:56
    16. Adding a permanent scrollbar to our text area 00:04:22
  20. Chapter 20 : Unit testing with Python
    1. Introduction to this section 00:02:53
    2. Testing functions 00:07:26
    3. Testing for errors 00:02:37
    4. Testing our multiplication function 00:09:09
    5. Writing a printer class for testing 00:02:00
    6. Testing classes 00:04:44
    7. More Printer tests 00:09:26
    8. Testing external libraries 00:09:54
    9. Conclusion of this section 00:00:59
  21. Chapter 21 : Algorithms and Data Structures
    1. Presentation: queues, stacks, and complexity 00:09:40
    2. Presentation: binary search 00:06:47
    3. Presentation: binary trees 00:05:53
    4. Presentation: traversal of binary trees 00:07:12
    5. Presentation: adding elements to a binary tree 00:07:00
    6. Adding elements to a binary tree in Python 00:10:58
    7. Recursion and inorder traversal in Python 00:14:36
    8. Finding nodes in a tree with Python 00:03:21
    9. How do you delete nodes from a binary tree? 00:09:29
    10. Deleting nodes in code with Python 00:14:11
    11. Deleting nodes with two children in code 00:18:44
    12. Testing our binary tree! 00:02:37
  22. Chapter 22 : Python libraries
    1. Python libraries overview 00:16:36
    2. Using pylint 00:12:40
    3. Using yapf 00:07:43
    4. Sending e-mails with smtplib 00:07:36
    5. Sending e-mails with smtplib 00:09:53
    6. Creating a re-usable Mailgun library 00:07:12
    7. Sneak peek: my IDE setup! 00:09:30
  23. Chapter 23 : Python Reference / Refresher
    1. Variables in Python 00:08:26
    2. String formatting in Python 00:06:26
    3. Getting user input 00:05:17
    4. Lists, tuples, and sets 00:06:31
    5. Advanced set operations 00:04:40
    6. Booleans in Python 00:05:00
    7. If statements in Python 00:08:17
    8. The in keyword 00:02:02
    9. If statements with the 'in' keyword 00:08:18
    10. Loops in Python 00:11:07
    11. List comprehensions 00:07:25
    12. Dictionaries 00:08:31
    13. Destructuring variables 00:08:29
    14. Functions in Python 00:10:42
    15. Function arguments and parameters 00:07:41
    16. Default parameter values 00:03:55
    17. Functions returning values 00:07:20
    18. Lambda functions in Python 00:07:53
    19. Dictionary comprehensions 00:04:01
    20. Unpacking arguments 00:10:24
    21. Unpacking keyword arguments 00:08:45
    22. Object-Oriented Programming in Python 00:15:52
    23. Magic methods: __str__ and __repr__ 00:06:26
    24. Class methods and static methods 00:14:04
    25. Class inheritance 00:08:32
    26. Class composition 00:06:08
    27. Type hinting 00:05:09
    28. How imports work in Python 00:09:33
    29. Relative imports in Python 00:08:53
    30. Errors in Python 00:12:48
    31. Custom error classes 00:05:05
    32. First-class functions 00:07:53
    33. Simple decorators in Python 00:07:13
    34. The 'at' syntax for decorators 00:03:33
    35. Decorating functions with parameters 00:02:25
    36. Decorators with parameters 00:04:50
    37. Mutability in Python 00:06:04
    38. Mutable default parameters (and why they're a bad idea) 00:04:28

Product Information

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