https://programmingwithmosh.com/
- 1.1. What is Python (3:21)
- 1.2. Installing Python (1:52)
- 1.3. Python Interpreter (1:55)
- 1.4. Code Editors (1:19)
- 1.5. Your First Python Program (3:36)
- 1.6. Python Extension (2:52)
- 1.7. Linting Python Code (4:14)
- 1.8. Formatting Python Code (3:54)
- 1.9. Running Python Code (2:59)
- 1.10. Python Implementations (2:28)
- 1.11. How Python Code is Executed (2:46)
- 1.12. Quiz (1:37)
- 2.1. Variables (3:04)
- 2.2. Variable Names (3:02)
- 2.3. Strings (5:30)
- 2.4. Escape Sequences (2:40)
- 2.5. Formatted Strings (2:08)
- 2.6. String Methods (5:54)
- 2.7. Numbers (2:46)
- 2.8. Working with Numbers (2:09)
- 2.9. Type Conversion (5:04)
- 2.10. Quiz (2:43)
- 3.1. Comparison Operators (2:04)
- 3.2. Conditional Statements (4:09)
- 3.3. Ternary Operator (2:09)
- 3.4. Logical Operators (4:02)
- 3.5. Short-circuit Evaluation (2:06)
- 3.6. Chaining Comparison Operators (1:22)
- 3.7. Quiz (1:43)
- 3.8. For Loops (3:38)
- 3.9. For..Else (2:46)
- 3.10. Nested Loops (2:44)
- 3.11. Iterables (3:08)
- 3.12. While Loops (4:59)
- 3.13. Infinite Loops (1:37)
- 3.14. Exercise (2:05)
- 4.1. Defining Functions (2:24)
- 4.2. Arguments (2:20)
- 4.3. Types of Functions (4:02)
- 4.4. Keyword Arguments (2:00)
- 4.5. Default Arguments (1:35)
- 4.6. xargs (4:15)
- 4.7. xxargs (2:20)
- 4.8. Scope (5:09)
- 4.9. Debugging (6:50)
- 4.10. VSCode Coding Tricks - Windows (2:21)
- 4.11. VSCode Coding Tricks - Mac (1:49)
- 4.12. Exercise (1:29)
- 4.13. Solution (4:41)
- 5.1. Lists (3:54)
- 5.2. Accessing Items (3:13)
- 5.3. List Unpacking (3:51)
- 5.4. Looping over Lists (2:54)
- 5.5. Adding or Removing Items (2:56)
- 5.6. Finding Items (1:28)
- 5.7. Sorting Lists (4:35)
- 5.8. Lambda Functions (1:49)
- 5.9. Map Function (3:25)
- 5.10. Filter Function (2:05)
- 5.11. List Comprehensions (3:10)
- 5.12. Zip Function (1:49)
- 5.13. Stacks (4:24)
- 5.14. Queues (2:50)
- 5.15. Tuples (4:02)
- 5.16. Swapping Variables (2:37)
- 5.17. Arrays (3:11)
- 5.18. Sets (4:03)
- 5.19. Dictionaries (5:24)
- 5.20. Dictionary Comprehensions (3:19)
- 5.21. Generator Expressions (3:51)
- 5.22. Unpacking Operator (4:05)
- 5.23. Exercise (6:21)
- 6.1. Exceptions (2:16)
- 6.2. Handling Exceptions (4:10)
- 6.3. Handling Different Exceptions (3:05)
- 6.4. Cleaning Up (1:57)
- 6.5. The With Statement (3:07)
- 6.6. Raising Exceptions (3:21)
- 6.7. Cost of Raising Exceptions (4:41)
- 7.1. Classes (2:35)
- 7.2. Creating Classes (3:45)
- 7.3. Constructors (4:37)
- 7.4. Class vs Instance Attributes (3:58)
- 7.5. Class vs Instance Methods (4:05)
- 7.6. Magic Methods (3:13)
- 7.7. Comparing Objects (3:11)
- 7.8. Performing Arithmetic Operations (1:31)
- 7.9. Making Custom Containers (6:55)
- 7.10. Private Members (3:40)
- 7.11. Properties (7:30)
- 7.12. Inheritance (4:23)
- 7.13. The Object Class (2:23)
- 7.14. Method Overriding (3:14)
- 7.15. Multi-level Inheritance (2:42)
- 7.16. Multiple Inheritance (3:22)
- 7.17. A Good Example of Inheritance (4:31)
- 7.18. Abstract Base Classes (4:50)
- 7.19. Polymorphism (3:56)
- 7.20. Duck Typing (2:50)
- 7.21. Extending Built-in Types (2:26)
- 7.22. Data Classes (4:36)
- 8.1. Creating Modules (4:16)
- 8.2. Compiled Python Files (2:19)
- 8.3. Module Search Path (1:35)
- 8.4. Packages (2:27)
- 8.5. Sub-packages (1:01)
- 8.6. Intra-package References (1:36)
- 8.7. The dir Function (1:39)
- 8.8. Executing Modules as Scripts (2:55)
- 9.1. Python Standard Library (0:51)
- 9.2. Working With Paths (4:48)
- 9.3. Working with Directories (4:14)
- 9.4. Working with Files (3:59)
- 9.5. Working with Zip Files (3:15)
- 9.6. Working with CSV Files (4:50)
- 9.7. Working with JSON Files (3:57)
- 9.8. Working with a SQLite Database (9:10)
- 9.9. Working with Timestamps (2:24)
- 9.10. Working with DateTimes (5:05)
- 9.11. Working with Time Deltas (2:41)
- 9.12. Generating Random Values (4:09)
- 9.13. Opening the Browser (1:12)
- 9.14. Sending Emails (6:48)
- 9.15. Templates (4:53)
- 9.16. Command-line Arguments (1:54)
- 9.17. Running External Programs (8:06)
- 10.1. Pypi (1:49)
- 10.2. Pip (6:23)
- 10.3. Virtual Environments (4:04)
- 10.4. Pipenv (3:40)
- 10.5. Virtual Environments in VSCode (3:49)
- 10.6. Pipfile (4:48)
- 10.7. Managing Dependencies (3:28)
- 10.8. Publishing Packages (8:22)
- 10.9. Docstrings (5:48)
- 10.10. Pydoc (4:06)
- 11.1. Introduction (1:41)
- 11.2. What are APIs (2:36)
- 11.3. Yelp API (2:51)
- 11.4. Searching for Businesses (9:54)
- 11.5. Hiding API Keys (2:05)
- 11.6. Sending Text Messages (6:02)
- 11.7. Web Scraping (9:06)
- 11.8. Browser Automation (11:28)
- 11.9. Working with PDFs (6:18)
- 11.10. Working with Excel Spreadsheets (9:52)
- 11.11. Command Query Separation Principle (4:39)
- 11.12. NumPy (9:05)
- 12.1. Introduction (1:43)
- 12.2. Your First Django Project (4:11)
- 12.3. Your First App (3:41)
- 12.4. Views (7:59)
- 12.5. Models (4:57)
- 12.6. Migrations (8:00)
- 12.7. Changing the Models (5:38)
- 12.8. Admin (4:29)
- 12.9. Customizing the Admin (6:55)
- 12.10. Database Abstraction API (3:52)
- 12.11. Templates (10:23)
- 12.12. Adding Bootstrap (4:19)
- 12.13. Customizing the Layout (2:23)
- 12.14. Sharing a Template Across Multiple Apps (3:48)
- 12.15. Url Parameters (4:37)
- 12.16. Getting a Single Object (3:48)
- 12.17. Raising 40Errors (3:51)
- 12.18. Referencing Urls (3:47)
- 12.19. Creating APIs (9:26)
- 12.20. Adding the Homepage (4:27)
- 12.21. Getting Ready to Deploy (9:44)
- 12.22. Deployment (7:59)
- 13.1. What is Machine Learning (1:58)
- 13.2. Machine Learning in Action (2:47)
- 13.3. Libraries and Tools (4:54)
- 13.4. Importing a Data Set (6:21)
- 13.5. Jupyter Shortcuts (5:26)
- 13.6. A Real Machine Learning Problem (3:17)
- 13.7. Preparing the Data (3:05)
- 13.8. Learning and Predicting (4:04)
- 13.9. Calculating the Accuracy (6:20)
- 13.10. Persisting Models (3:14)
- 13.11. Visualizing a Decision Tree (6:26)
- 13.12. What to Learn Next
- 13.13. Thank You