Watch udemy, inc. the complete python course learn python by doing in 2022

Watch udemy, inc. the complete python course   learn python by doing in 2022
The Complete Python Course | Learn Python by Doing in 2022

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

Information

Created by : Codestars by Rob Percival, Jose Salvatierra, Rob Percival, Teclado by Jose Salvatierra

Rating: 4.6 out of 5 (16,319 ratings)

Student : 64,329

Last updated :Last updated 1/2022

Language : English

SubTitle : English, Portuguese, Spanish

Course Includes

  • 30-Day Money-Back Guarantee
  • Certificate of completion

What you’ll learn

  • From foundations to expert, learn about every major Python topic, working with Python 3.
  • Write professional-grade Pythonic code with all the best practices and avoiding common pitfalls.
  • Master Object-Oriented Programming and structure your Python programs like a professional.
  • Swiftly understand complex topics like decorators, algorithms, and asynchronous programming in Python.
  • Automate extracting data from websites using web scraping libraries like BeautifulSoup and Selenium.
  • Learn how to write desktop applications with Python and Tkinter.
  • Interact with REST APIs using Python and build a currency converter!
  • Develop a life-long love for programming with Python!

Course Content

24 sections • 345 lectures • 35h 19m 21s total length

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

Requirements

  • Access to a computer with an internet connection. Everything else we use in the course is publicly available and we’ll guide you through getting it.
  • There are no other requirements, besides getting started!

Description

Welcome to the Complete Python Course!

Learn Python from a software developer. If you want to master Python and write efficient, elegant, and simple code, this is the course you’ve been looking for!

Even if you have no programming experience, this course will give you a super-strong foundation and teach you how to use Python to achieve any goal.

We’ve crafted every piece of content to be concise and straightforward, while never leaving you confused:

  • Hundreds of code-along videos with in-depth explanations
  • Dozens of presentations with animated diagrams
  • Quizzes
  • Coding exercises
  • Python projects for you to learn to make real Python applications

Why Choose THIS Course?

  • Get a broader and deeper experience in Python than with any other Udemy course on the market.
  • Start at zero and become an expert whilst learning all about the inner workings of Python.
  • Learn how to write professional Python code like a professional Python developer.
  • Embrace simplicity and develop good programming habits.
  • Explore advanced Python, such as decorators, asynchronous development, and managing project dependencies
  • Improve your Python code with formatters and linters
  • Store data in a database so it’s accessible and searchable.
  • Learn about web development using Flask, to create websites that you can share with users.
  • Extract information from existing websites using web scraping.
  • Control your browser using Selenium, to automate using almost any website!
  • Learn to interact with REST APIs to fetch data from other web applications.
  • Create desktop GUIs using Tkinter, and turn them into executable applications you can share with non-technical users.
  • Start working with unit testing in Python by learning about the unittest library

Who Is This Course For?

  • Beginners who have never programmed before.
  • Programmers with experience in other languages who want to kickstart their Python programming.
  • Programmers who know some Python but want to round off their skills and become truly proficient.

What Am I Going to Get From This Course?

  • Lifetime access to over 300 code-along lectures covering all aspects of Python, from the foundations to advanced concepts.
  • Complete written notes and code for you to read and refer to as you progress through the course.
  • Milestone projects for you to complete throughout the course. These provide a challenge and an opportunity for you to apply what you’ve learned. We always go over the code after to show you how we would tackle them.
  • Quizzes and coding exercises for you to check your understanding.
  • High-quality help and support. Every year we personally help thousands of students. We don’t leave a single question unanswered.

Here’s a breakdown of some of the topics this course covers!

  • Command Line Basics
  • Installing Python
  • Running Python Code
  • Strings and Numbers
  • String Formatting
  • Lists, Dictionaries, Tuples, and Sets
  • Functions and lambdas
  • Decorators
  • Scope
  • args/kwargs and default parameter values
  • The concept of mutability
  • Built-in Functions
  • Debugging and Error Handling
  • Type hinting (new in Python 3.8)
  • Creating your own error classes
  • Modules and installing libraries
  • Object Oriented Programming, in a lot of depth
  • Composition and Inheritance
  • File I/O
  • Database interactions
  • Unit testing
  • Regex (Regular Expressions)
  • Web Scraping
  • Algorithms and Data Structures
  • And much, much more!

Feel free to read through the course curriculum, as well as watch the free lectures of this course. I’m sure you’ll enjoy them.

But don’t take my word for it! Read through some of these reviews and see what other students are saying:

> “Excellent teaching ability combined with deep understanding of the subject has produced one of the best online courses I’ve taken in decades. Fabulous work! Thank you!” – Maria Iano

> “Really amazing course. would recommend to all the students or programmers who want to learn python from scratch.” – Hriday Panchal

> “Exactly the course I needed!!! Explanations are clear, lots of examples, and everything you need in python! thanks so much.” – Julien Palleau

> “Another amazing offering from Jose. This course offers the most comprehensive look at Python available. Consider, for example, the extensive treatment regarding asynchronous development, or the detailed introduction to web development with Flask, or the Tkinter GUI introduction. I have had several other offerings by Jose here on Udemy. Always get far more than I expected.” – Martin Dwyer

> “Honestly, I don’t know much about other courses, but after taking a quick peek at some of them, I can safely say that this is the most complete Python course in Udemy. […] Definitely recommended for those who want to begin their Python journey but don’t know where to start.” – Mateo Delgadillo Karam

Also remember: we have a 30-day money-back guarantee, so sign up and try the course totally risk-free!

I’ll see you on the inside.

Who this course is for

  • Beginner programmers who want to get into one of the most popular and loved languages in the world
  • Programmers from other languages who want to kickstart their Python journey
  • Python programmers who want to refresh their skills and tackle advanced topics like algorithms and asynchronous programming