The Complete Python Course | Learn Python by Doing in 2023

The Complete Python Course | Learn Python by Doing in 2023

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 345 lectures (35h 14m) | 7.41 GB

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

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.

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!
Table of Contents

Intro to Python
1 Welcome to this course!
2 Overview of the course curriculum
3 Our Python coding environment
4 Writing our first code! Variables and printing
5 Community & Support
6 Numbers in Python
7 Calculating the remainder of a division
8 Information before your first coding exercise
9 Solution variables and numbers
10 Python strings
11 Python string formatting
12 Getting user input in Python
13 Solution communicating with users
14 Booleans and comparisons in Python
15 and & or in Python
16 Lists in Python
17 Tuples in Python
18 Sets in Python
19 Advanced set operations
20 Solution nearby friends
21 Python dictionaries
22 Length and sum
23 Solution dictionaries
24 Joining a list
25 Conclusion and Python Fundamentals Cheatsheet

Python fundamentals
26 If statements in Python
27 While loops in Python
28 Solution a simple text menu
29 For loops in Python
30 Destructuring syntax
31 Iterating over dictionaries
32 Break and continue
33 A couple more loop examples
34 Solution FizzBuzz
35 The else keyword with loops
36 Finding prime numbers with for loops
37 List slicing in Python
38 List comprehension in Python
39 Comprehensions with conditionals
40 Set and dictionary comprehensions
41 The zip function
42 The enumerate function
43 Solution an improved lottery!
44 Functions in Python
45 Arguments and parameters
46 Functions and return values in Python
47 Default parameter values
48 Lambda functions in Python
49 First-class functions in Python
50 Conclusion and Cheatsheets for this section

Milestone Project 1
51 Code for this section
52 Installing Python in your computer
53 Installing PyCharm in your computer
54 Creating our first PyCharm project
55 Setting up PyCharm font and display settings
56 Milestone Project Brief
57 Milestone Project Implementation Video

Object-Oriented Programming with Python
58 Intro to Object-Oriented Programming with Python
59 Solution your first Python class
60 More about classes and objects
61 Solution defining a method
62 So… sum(), int(), str(), len(), what else is there
63 Parameter naming in Python
64 Magic methods in Python
65 Solution magic methods in Python
66 Inheritance in Python
67 The @property decorator
68 @classmethod and @staticmethod in Python
69 More @classmethod and @staticmethod examples

Errors in Python
70 Code samples for this section
71 Intro to errors in Python
72 Built in errors in Python
73 Raising errors in Python
74 Solution raising an error
75 Creating our own errors in Python
76 Solution raising our own custom errors
77 Dealing with Python errors
78 The on success block and re-raising exceptions
79 Handling those pesky user errors!
80 Solution try-except-finally
81 Debugging with Pycharm
82 Further reading

Files in Python
83 Code for this section
84 Files in Python
85 Python Exercise copying files
86 CSV files with Python
87 How to use the csv module to read and write CSV files more easily
88 JSON files with Python
89 Solution a CSV to JSON converter
90 Using the with syntax in Python
91 Importing our own files
92 Python relative imports children
93 Solution importing modules
94 Python relative imports parents
95 Import errors and running as a Python script
96 Further reading

Databases in Python & Milestone Project 2
97 Code for this section
98 Intro to Milestone Project 2
99 Milestone Project 2 Brief
100 Milestone Project with lists
101 Storing books in files
102 Using JSON instead of CSV
103 Intro to databases with Python
104 Using SQLite in Python
105 Some database jargon
106 Creating our books table using Python
107 Inserting books using Python
108 SELECT examples
109 Getting all our books
110 UPDATE and DELETE
111 Filtering with WHERE
112 Finishing the Milestone Project
113 Ordering and limiting
114 Developing our context manager in Python
115 Errors in context managers
116 Further reading

Type hinting in Python
117 Typing in Python
118 Further reading

Advanced built-in functions in Python
119 Generators in Python
120 Solution a prime number generator
121 Python generator classes and iterators
122 Solution coding a generator class
123 Iterables in Python
124 The filter() function in Python
125 The map() function in Python
126 any() and all() in Python
127 So what other things evaluate to True or False
128 Further reading

Advanced Python Development
129 Mutability in Python
130 Argument mutability in Python
131 Default values for parameters
132 Mutable default arguments (bad idea)
133 Argument unpacking in Python
134 Queues in Python
135 Some interesting Python collections
136 Solution Python collections
137 Timezones
138 Dates and time in Python
139 Timing your code with Python
140 Regular expressions
141 Regex examples
142 Regex in Python
143 Solution secure file names using regex
144 Introduction to logging in Python
145 Logging to a file and other features
146 Higher-order functions in Python
147 The built-in itertools module
148 Further reading

Web Scraping with Python
149 Code for this section
150 Markup Languages The Structure of HTML Code
151 Understanding HTML with BeautifulSoup
152 More complex HTML parsing
153 Structuring our parsing program better
154 Splitting HTML locators out of our Python class
155 Understanding HTML with the browser
156 Scraping our first website with Python
157 Milestone Project 3 A Quote Scraper
158 Quotes Project 2 Structuring a scraping app in Python
159 Quotes Project 3 Getting our locators
160 Quotes Project 4 Crafting our quote parser
161 Quotes Project 5 The quotes page
162 Quotes Project 6 Recap of the project
163 Milestone Project 4 A Book Scraper + application
164 Books Project 2 Recap of HTML locators
165 Books Project 3 Creating locators in Python
166 Books Project 4 Creating our page
167 Books Project 5 Creating our book parser
168 Books Project 6 Writing our app file
169 Books Project 7 Sorting the books
170 Books Project 8 Constructing our menu
171 ASIDE The best way to write user menus
172 Books Project 9 Getting multiple pages
173 Books Project 10 Multiple pages in Python
174 Books Project 11 Getting the page count in Python
175 Books Project 12 Adding logging to our Python project
176 A word on scraping pages with JavaScript
177 A note on scraping and robots.txt

Browser Automation with Selenium
178 Introduction to this section
179 Code for this section
180 Review of our quotes scraping code
181 IMPORTANT Selenium update
182 Using Chrome in our scraping code
183 Our new page locators
184 Interacting with dropdowns
185 Selecting tags
186 Searching for quotes
187 Encapsulating logic more simply
188 Adding some error handling
189 Implicit and explicit waits in Selenium
190 Adding waits to our program code

Asynchronous Python Development
191 Code samples for this section
192 A glossary of terms used in concurrency
193 The Dining Philosophers Problem
194 Processes and threads
195 The Python GIL
196 Example threads in Python
197 Using Python concurrent.futures the ThreadPoolExecutor
198 Don’t kill threads!
199 Multiprocessing in Windows or ARM Macs
200 Multiprocessing in Python
201 Using Python concurrent.futures the ProcessPoolExecutor
202 Dealing with shared state in threads
203 Queuing in threads with shared state
204 Using Python generators instead of threads
205 Our first single-threaded task scheduler in Python
206 Yielding from another iterator in Python
207 Receiving data through yield
208 The async and await keywords
209 Watch these talks for more explanations and examples!
210 Our asynchronous scraper
211 Making our first async request in Python
212 Getting multiple pages efficiently
213 Using async_timeout for security
214 Turning our book scraping project async
215 A note on HTTPS with Python and Mac OS X

Python on the console and managing project dependencies
216 Running Python in the console
217 Terminal video running Python
218 Terminal video what is a virtualenv
219 Terminal video navigating the terminal and using virtualenv
220 Terminal video using Pipenv
221 Terminal video Pipenv and virtualenv
222 Summary e-book of using Pipenv

Web Development with Flask
223 Setting up our project with Pipenv
224 Code samples for this section
225 Our first Flask endpoint
226 Returning information with Flask and Python
227 Rendering HTML with Flask and Python
228 Error pages and Jinja2 inheritance
229 Rendering forms with Flask and Python
230 Accessing POST form data with Flask
231 Putting our form in a single endpoint
232 Using Jinja2 for loops to create a nicer homepage
233 Adding navigation to our website

Interacting with APIs with Python
234 Code for this section
235 Signing up to OpenExchangeRates
236 Getting all exchange rates from the API
237 Creating a currency exchange library
238 Caching functions with functools
239 TTL caches with cachetools

Decorators in Python
240 A simple decorator in Python
241 Solution decorators
242 Using a @syntax
243 Functools wraps in Python
244 Decorating functions with parameters
245 Decorators with parameters
246 Functions that accept multiple arguments
247 Generic decorators for any function
248 Solution a generic access control decorator
249 Multiple decorators for one function

Advanced Object-Oriented Programming
250 Intro to multiple inheritance with Python
251 Solution multiple inheritance
252 Intro to ABCs in Python
253 The usefulness of ABCs
254 The relationship between ABCs and interfaces
255 Solution ABCs
256 The property setter in Python
257 Pythonic vs. Non-Pythonic

GUI Development with Tkinter
258 Code for this section
259 Setting up Tkinter
260 Hello world in Tkinter
261 Labels and fields
262 Packing components
263 Using frames for different layouts
264 Starting our text editor project
265 Tkinter notebooks and creating files
266 Adding a menu to our application
267 Saving files to disk
268 Opening files
269 Binding shortcuts in Tkinter
270 Checking our tabs for unsaved changes
271 Confirming exit with unsaved changes
272 Closing individual tabs
273 Adding another menu
274 Adding a permanent scrollbar to our text area

Unit testing with Python
275 Introduction to this section
276 Code for this section
277 Testing functions
278 Testing for errors
279 Testing our multiplication function
280 Writing a printer class for testing
281 Testing classes
282 More Printer tests
283 Testing external libraries
284 Conclusion of this section

Algorithms and Data Structures
285 Presentation queues, stacks, and complexity
286 A conference talk about Big-O
287 Presentation binary search
288 Presentation binary trees
289 Presentation traversal of binary trees
290 Presentation adding elements to a binary tree
291 Adding elements to a binary tree in Python
292 Recursion and inorder traversal in Python
293 Finding nodes in a tree with Python
294 How do you delete nodes from a binary tree
295 Deleting nodes in code with Python
296 Deleting nodes with two children in code
297 Testing our binary tree!

Python libraries
298 Python libraries overview
299 Using pylint
300 Using yapf
301 Sending e-mails with smtplib
302 Sending e-mails with Mailgun
303 Creating a re-usable Mailgun library
304 Sneak peek my IDE setup!

Python Reference Refresher
305 Variables in Python
306 String formatting in Python
307 Getting user input
308 Lists, tuples, and sets
309 Advanced set operations
310 Booleans in Python
311 If statements in Python
312 The in keyword
313 If statements with the ‘in’ keyword
314 Loops in Python
315 List comprehensions
316 Dictionaries
317 Destructuring variables
318 Functions in Python
319 Function arguments and parameters
320 Default parameter values
321 Functions returning values
322 Lambda functions in Python
323 Dictionary comprehensions
324 Unpacking arguments
325 Unpacking keyword arguments
326 Object-Oriented Programming in Python
327 Magic methods __str__ and __repr__
328 Class methods and static methods
329 Class inheritance
330 Class composition
331 Type hinting
332 How imports work in Python
333 Relative imports in Python
334 Errors in Python
335 Custom error classes
336 First-class functions
337 Simple decorators in Python
338 The ‘at’ syntax for decorators
339 Decorating functions with parameters
340 Decorators with parameters
341 Mutability in Python
342 Mutable default parameters (and why they’re a bad idea)

Bonus Section
343 Thank you for taking the course
344 Bonus lecture

Homepage