The Complete Python Course | Learn Python by Doing

35h 20s
English
Paid
April 12, 2024

This course will take you from beginner to expert in Python, easily and smartly. We've crafted every piece of content to be concise and straightforward, while never leaving you confused. This course will dive right into Python and get you productive from the very beginning.  This is the best investment you can make in your Python journey.

More

Why Learn Python?

Over the last few years, Python has become more and more popular. Demand for Python is booming in the job market and it is a skill that can help you enter some of the most exciting industries, including data science, web applications, home automation and many more. Python is one of the "most loved” and “most wanted” programming languages according to recent industry surveys. If people are not using Python already, they want to start using Python. 

This course will make it easy for you to learn Python and get ahead of your competition. 

Why Choose THIS Course?

You will:

  • 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.

  • Develop a long-lasting love for Python and programming by creating good programming habits.

  • Explore the wider possibilities of what you can do with Python, including databases, web development and web scraping.

  • Become job-ready by learning about best practices, Selenium, unit testing, and all of the major Python topics.

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 250 lectures covering all aspects of Python, from the foundations to advanced concepts. 

  • An interactive screencast video from every lecture AND complete, written notes and code for you to read and refer back to you 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.

  • Guidance on common pitfalls and best practices including how to make your code "Pythonic" (looking like professional code), Object-Oriented Programming, database interactions, and more.

  • Quizzes and tests for you to check your understanding.

  • 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!

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

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!

Watch Online The Complete Python Course | Learn Python by Doing

Join premium to watch
Go to premium
# Title Duration
1 Welcome to this course! 02:29
2 Overview of the course curriculum 02:49
3 Our Python coding environment 02:29
4 Writing our first code! Variables and printing 04:06
5 Community & Support 06:01
6 Numbers in Python 03:11
7 Calculating the remainder of a division 04:10
8 Information before your first coding exercise 00:57
9 Python strings 06:58
10 Python string formatting 07:09
11 Getting user input in Python 08:08
12 Booleans and comparisons in Python 04:27
13 and & or in Python 08:51
14 Lists in Python 08:06
15 Tuples in Python 05:30
16 Sets in Python 02:46
17 Advanced set operations 04:52
18 Python dictionaries 07:47
19 Length and sum 02:48
20 Joining a list 02:05
21 If statements in Python 12:22
22 While loops in Python 06:15
23 For loops in Python 07:28
24 Destructuring syntax 03:20
25 Iterating over dictionaries 02:30
26 Break and continue 04:12
27 The else keyword with loops 03:49
28 Finding prime numbers with for loops 05:36
29 List slicing in Python 04:03
30 List comprehension in Python 09:03
31 Comprehensions with conditionals 06:17
32 Set and dictionary comprehensions 05:08
33 The zip function 02:43
34 The enumerate function 04:44
35 Functions in Python 04:11
36 Arguments and parameters 10:16
37 Functions and return values in Python 09:26
38 Default parameter values 07:27
39 Lambda functions in Python 06:09
40 First-class functions in Python 10:20
41 Installing Python in your computer 02:19
42 Installing PyCharm in your computer 02:57
43 Creating our first PyCharm project 05:46
44 Setting up PyCharm font and display settings 02:45
45 Milestone Project Brief 07:28
46 Milestone Project Implementation Video 11:34
47 Intro to Object-Oriented Programming with Python 17:03
48 More about classes and objects 09:18
49 Parameter naming in Python 03:55
50 Magic methods in Python 12:58
51 Inheritance in Python 08:46
52 The @property decorator 04:20
53 @classmethod and @staticmethod in Python 07:28
54 More @classmethod and @staticmethod examples 12:07
55 Intro to errors in Python 13:14
56 Built in errors in Python 17:59
57 Raising errors in Python 10:59
58 Creating our own errors in Python 13:43
59 Dealing with Python errors 09:01
60 The on success block and re-raising exceptions 11:22
61 Handling those pesky user errors! 14:56
62 Debugging with Pycharm 16:38
63 Files in Python 10:56
64 Python Exercise: copying files 20:39
65 CSV files with Python 09:36
66 JSON files with Python 17:34
67 Using the with syntax in Python 05:02
68 Importing our own files 10:29
69 Python relative imports: children 15:19
70 Python relative imports: parents 05:45
71 Import errors and running as a Python script 05:27
72 Intro to Milestone Project 2 05:54
73 Milestone Project with lists 17:53
74 Storing books in files 19:31
75 Using JSON instead of CSV 09:59
76 Intro to databases with Python 07:04
77 Using SQLite in Python 02:38
78 Some database jargon 04:09
79 Creating our books table using Python 05:50
80 Inserting books using Python 06:20
81 SELECT examples 03:13
82 Getting all our books 06:31
83 UPDATE and DELETE 02:15
84 Filtering with WHERE 05:00
85 Finishing the Milestone Project 07:47
86 Ordering and limiting 02:38
87 Developing our context manager in Python 10:12
88 Errors in context managers 06:56
89 Typing in Python 12:11
90 Further reading 01:45
91 Generators in Python 12:40
92 Python generator classes and iterators 08:16
93 Iterables in Python 07:49
94 The filter() function in Python 08:44
95 The map() function in Python 05:40
96 any() and all() in Python 05:00
97 Mutability in Python 11:50
98 Argument mutability in Python 12:17
99 Default values for parameters 05:04
100 Mutable default arguments (bad idea) 06:39
101 Argument unpacking in Python 11:17
102 Queues in Python 03:21
103 Some interesting Python collections 25:56
104 Timezones 08:47
105 Dates and time in Python 12:47
106 Timing your code with Python 12:33
107 Regular expressions 08:29
108 Regex examples 13:37
109 Regex in Python 13:08
110 Introduction to logging in Python 10:36
111 Logging to a file and other features 04:17
112 Higher-order functions in Python 09:38
113 Markup Languages: The Structure of HTML Code 07:33
114 Understanding HTML with BeautifulSoup 18:45
115 More complex HTML parsing 22:19
116 Structuring our parsing program better 05:41
117 Splitting HTML locators out of our Python class 04:04
118 Understanding HTML with the browser 06:36
119 Scraping our first website with Python 06:43
120 Milestone Project 3: A Quote Scraper 04:14
121 Quotes Project 2: Structuring a scraping app in Python 02:42
122 Quotes Project 3: Getting our locators 05:10
123 Quotes Project 4: Crafting our quote parser 04:52
124 Quotes Project 5: The quotes page 04:31
125 Quotes Project 6: Recap of the project 03:55
126 Milestone Project 4: A Book Scraper + application 05:02
127 Books Project 2: Recap of HTML locators 04:54
128 Books Project 3: Creating locators in Python 04:27
129 Books Project 4: Creating our page 03:28
130 Books Project 5: Creating our book parser 11:02
131 Books Project 6: Writing our app file 03:56
132 Books Project 7: Sorting the books 08:51
133 Books Project 8: Constructing our menu 06:03
134 ASIDE: The best way to write user menus 01:29
135 Books Project 9: Getting multiple pages 02:38
136 Books Project 10: Multiple pages in Python 05:27
137 Books Project 11: Getting the page count in Python 06:34
138 Books Project 12: Adding logging to our Python project 20:29
139 A word on scraping pages with JavaScript 03:15
140 Introduction to this section 01:39
141 Review of our quotes scraping code 05:02
142 Downloading chromedriver 02:01
143 Using Chrome in our scraping code 06:27
144 Our new page locators 03:45
145 Interacting with dropdowns 04:08
146 Selecting tags 05:18
147 Searching for quotes 02:18
148 Encapsulating logic more simply 05:04
149 Adding some error handling 01:40
150 Implicit and explicit waits in Selenium 06:50
151 Adding waits to our program code 07:05
152 The Dining Philosophers Problem 07:39
153 Processes and threads 09:25
154 The Python GIL 10:31
155 Example: threads in Python 12:41
156 Using Python concurrent.futures: the ThreadPoolExecutor 03:09
157 Don't kill threads! 01:49
158 Multiprocessing in Python 07:25
159 Using Python concurrent.futures: the ProcessPoolExecutor 02:16
160 Dealing with shared state in threads 08:32
161 Queuing in threads with shared state 12:26
162 Using Python generators instead of threads 04:51
163 Our first single-threaded task scheduler in Python 06:05
164 Yielding from another iterator in Python 05:37
165 Receiving data through yield 09:35
166 The async and await keywords 06:11
167 Watch these talks for more explanations and examples! 01:53
168 Our asynchronous scraper 04:43
169 Making our first async request in Python 14:50
170 Getting multiple pages efficiently 10:24
171 Using async_timeout for security 01:47
172 Turning our book scraping project async 10:17
173 A note on HTTPS with Python and Mac OS X 03:13
174 Running Python in the console 08:50
175 Terminal video: running Python 05:51
176 Terminal video: what is a virtualenv? 10:44
177 Terminal video: navigating the terminal and using virtualenv 09:50
178 Terminal video: using Pipenv 09:39
179 Terminal video: Pipenv and virtualenv 04:06
180 Setting up our project with Pipenv 05:43
181 Our first Flask endpoint 07:38
182 Returning information with Flask and Python 04:56
183 Rendering HTML with Flask and Python 06:25
184 Error pages and Jinja2 inheritance 11:40
185 Rendering forms with Flask and Python 14:22
186 Accessing POST form data with Flask 04:49
187 Putting our form in a single endpoint 03:03
188 Using Jinja2 for loops to create a nicer homepage 07:58
189 Adding navigation to our website 04:55
190 Signing up to OpenExchangeRates 01:42
191 Getting all exchange rates from the API 05:31
192 Creating a currency exchange library 07:26
193 Caching functions with functools 04:50
194 TTL caches with cachetools 02:05
195 A simple decorator in Python 06:08
196 Using a @syntax 03:24
197 Functools wraps in Python 01:56
198 Decorating functions with parameters 04:57
199 Decorators with parameters 09:51
200 Functions that accept multiple arguments 05:30
201 Generic decorators for any function 03:55
202 Intro to multiple inheritance with Python 13:24
203 Intro to ABCs in Python 08:07
204 The usefulness of ABCs 03:21
205 The relationship between ABCs and interfaces 06:50
206 The property setter in Python 11:09
207 Setting up Tkinter 02:48
208 Hello world in Tkinter 07:38
209 Labels and fields 05:23
210 Packing components 11:58
211 Using frames for different layouts 03:42
212 Starting our text editor project 00:57
213 Tkinter notebooks and creating files 03:33
214 Adding a menu to our application 04:13
215 Saving files to disk 08:00
216 Opening files 04:20
217 Binding shortcuts in Tkinter 04:43
218 Checking our tabs for unsaved changes 08:18
219 Confirming exit with unsaved changes 04:25
220 Closing individual tabs 05:22
221 Adding another menu 01:56
222 Adding a permanent scrollbar to our text area 04:23
223 Introduction to this section 02:54
224 Testing functions 07:27
225 Testing for errors 02:38
226 Testing our multiplication function 09:09
227 Writing a printer class for testing 02:00
228 Testing classes 04:45
229 More Printer tests 09:27
230 Testing external libraries 09:54
231 Conclusion of this section 00:59
232 Presentation: queues, stacks, and complexity 09:41
233 Presentation: binary search 06:48
234 Presentation: binary trees 05:54
235 Presentation: traversal of binary trees 07:13
236 Presentation: adding elements to a binary tree 07:01
237 Adding elements to a binary tree in Python 10:59
238 Recursion and inorder traversal in Python 14:36
239 Finding nodes in a tree with Python 03:22
240 How do you delete nodes from a binary tree? 09:30
241 Deleting nodes in code with Python 14:12
242 Deleting nodes with two children in code 18:45
243 Testing our binary tree! 02:38
244 Python libraries overview 16:36
245 Using pylint 12:41
246 Using yapf 07:43
247 Sending e-mails with smtplib 07:36
248 Sending e-mails with Mailgun 09:54
249 Creating a re-usable Mailgun library 07:12
250 Sneak peek: my IDE setup! 09:31
251 Variables in Python 08:27
252 String formatting in Python 06:27
253 Getting user input 05:17
254 Lists, tuples, and sets 06:32
255 Advanced set operations 04:40
256 Booleans in Python 05:00
257 If statements in Python 08:18
258 The in keyword 02:03
259 If statements with the 'in' keyword 08:19
260 Loops in Python 11:08
261 List comprehensions 07:25
262 Dictionaries 08:32
263 Destructuring variables 08:29
264 Functions in Python 10:42
265 Function arguments and parameters 07:41
266 Default parameter values 03:55
267 Functions returning values 07:20
268 Lambda functions in Python 07:53
269 Dictionary comprehensions 04:02
270 Unpacking arguments 10:25
271 Unpacking keyword arguments 08:45
272 Object-Oriented Programming in Python 15:53
273 Magic methods: __str__ and __repr__ 06:26
274 Class methods and static methods 14:04
275 Class inheritance 08:33
276 Class composition 06:09
277 Type hinting 05:09
278 How imports work in Python 09:34
279 Relative imports in Python 08:53
280 Errors in Python 12:48
281 Custom error classes 05:05
282 First-class functions 07:53
283 Simple decorators in Python 07:13
284 The 'at' syntax for decorators 03:34
285 Decorating functions with parameters 02:25
286 Decorators with parameters 04:51
287 Mutability in Python 06:04
288 Mutable default parameters (and why they're a bad idea) 04:28
289 Thank you for taking the course 00:51

Similar courses to The Complete Python Course | Learn Python by Doing

Build a Backend REST API with Python & Django - Advanced

Build a Backend REST API with Python & Django - Advanced

Duration 7 hours 57 minutes 59 seconds
Statistics Bootcamp (with Python): Zero to Mastery

Statistics Bootcamp (with Python): Zero to Mastery

Duration 20 hours 50 minutes 51 seconds
Python on the Backend

Python on the Backend

Duration 3 hours 51 minutes 33 seconds
Complete linear algebra: theory and implementation

Complete linear algebra: theory and implementation

Duration 32 hours 53 minutes 26 seconds
PHP for Beginners - Become a PHP Master

PHP for Beginners - Become a PHP Master

Duration 37 hours 36 minutes 22 seconds
Web Developer Bootcamp with Flask and Python in 2022

Web Developer Bootcamp with Flask and Python in 2022

Duration 19 hours 57 minutes 43 seconds
Create Telegram Bot with Python

Create Telegram Bot with Python

Duration 1 hour 22 minutes 55 seconds