O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Expert Python Projects

Video Description

Unlock the power of Python with expert-level projects

In Detail

Python is one of the most powerful, flexible, and popular programming languages in the world. Become an expert with a plethora of projects with this Learning Path.

This Learning Path follows a project-based approach to help you learn all the advanced concepts of Python. We will focus on GUI projects with Tkinter, look at data visualization in deep, and then move on to machine learning. This Learning Path aims to get you well-versed with every concept of Python by teaching a broad range of topics.

This Learning Path aims to equip you with a mastery of Python like no other!

Prerequisites: Requires beginner-level knowledge of Python and cursory information about Tkinter, data visualization, and machine learning.

Resources: Code downloads and errata:

  • Mastering Python - Second Edition

  • Tkinter GUI Application Development Projects

  • Python Data Visualization Solutions

  • Python Machine Learning Solutions

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Mastering Python - Second Edition (5h 21m)

  • Tkinter GUI Application Development Projects (4h 51m)

  • Python Data Visualization Solutions (3h 27m)

  • Python Machine Learning Solutions (4h 27m)

  • Table of Contents

    1. Chapter 1 : Mastering Python - Second Edition
      1. The Course Overview 00:03:25
      2. Python Basic Syntax and Block Structure 00:11:54
      3. Built-in Data Structures and Comprehensions 00:08:55
      4. First-Class Functions and Classes 00:05:50
      5. Extensive Standard Library 00:05:56
      6. New in Python 3.5 00:06:02
      7. Downloading and Installing Python 00:05:17
      8. Using the Command-Line and the Interactive Shell 00:04:01
      9. Installing Packages with pip 00:03:16
      10. Finding Packages in the Python Package Index 00:04:29
      11. Creating an Empty Package 00:05:50
      12. Adding Modules to the Package 00:05:31
      13. Importing One of the Package's Modules from Another 00:05:26
      14. Adding Static Data Files to the Package 00:02:53
      15. PEP 8 and Writing Readable Code 00:07:51
      16. Using Version Control 00:04:48
      17. Using venv to Create a Stable and Isolated Work Area 00:04:41
      18. Getting the Most Out of docstrings 1: PEP 257 and docutils 00:08:00
      19. Getting the Most Out of docstrings 2: doctest 00:04:04
      20. Making a Package Executable via python -m 00:05:52
      21. Handling Command-Line Arguments with argparse 00:06:22
      22. Interacting with the User 00:04:39
      23. Executing Other Programs with Subprocess 00:09:10
      24. Using Shell Scripts or Batch Files to Run Our Programs 00:03:01
      25. Using concurrent.futures 00:13:53
      26. Using Multiprocessing 00:11:22
      27. Understanding Why This Isn't Like Parallel Processing 00:08:02
      28. Using the asyncio Event Loop and Coroutine Scheduler 00:06:52
      29. Waiting for Data to Become Available 00:03:30
      30. Synchronizing Multiple Tasks 00:06:18
      31. Communicating Across the Network 00:03:45
      32. Using Function Decorators 00:06:45
      33. Function Annotations 00:07:09
      34. Class Decorators 00:05:53
      35. Metaclasses 00:05:35
      36. Context Managers 00:05:52
      37. Descriptors 00:05:38
      38. Understanding the Principles of Unit Testing 00:05:07
      39. Using the unittest Package 00:07:28
      40. Using unittest.mock 00:06:12
      41. Using unittest's Test Discovery 00:04:30
      42. Using Nose for Unified Test Discover and Reporting 00:03:42
      43. What Does Reactive Programming Mean? 00:02:50
      44. Building a Simple Reactive Programming Framework 00:07:22
      45. Using the Reactive Extensions for Python (RxPY) 00:10:22
      46. Microservices and the Advantages of Process Isolation 00:04:13
      47. Building a High-Level Microservice with Flask 00:09:59
      48. Building a Low-Level Microservice with nameko 00:06:25
      49. Advantages and Disadvantages of Compiled Code 00:04:42
      50. Accessing a Dynamic Library Using ctypes 00:07:59
      51. Interfacing with C Code Using Cython 00:12:35
    2. Chapter 2 : Tkinter GUI Application Development Projects
      1. The Course Overview 00:04:22
      2. Installing Python and Tkinter 00:04:04
      3. Importing Tkinter 00:01:53
      4. GUI Programming – the Big Picture 00:01:57
      5. The Root Window – Your Drawing Board 00:02:27
      6. Widgets – the Building Blocks of GUI Programs 00:08:47
      7. The Tkinter Geometry Manager 00:13:56
      8. Event and Callbacks – Adding Life to Programs 00:10:02
      9. Handling Widgets – Specific Variables 00:01:56
      10. Event Unbinding and Virtual Events 00:01:33
      11. Platform-Based Styling for Our Widgets 00:05:04
      12. Some Common Root Window Options 00:04:09
      13. Setting Up the Editor Skeleton 00:03:36
      14. Adding a Menu and Menu Items 00:07:33
      15. Implementing the View Menu 00:02:27
      16. Adding a Built-in Functionality 00:05:57
      17. Indexing and Tagging 00:05:25
      18. Implementing the Select All Feature 00:01:32
      19. Implementing the Find Text Feature 00:05:46
      20. Types of Top Level Windows 00:02:01
      21. Working with Forms and Dialogs 00:07:49
      22. Working with Message Boxes 00:03:18
      23. The Icons Toolbar and View Menu Functions 00:02:36
      24. Displaying the Line Number 00:06:15
      25. Adding the Cursor Information Bar 00:01:32
      26. Adding Themes 00:02:02
      27. Creating the Context/Pop-Up Menu 00:02:36
      28. Module Requirements for Programmable Drum Machine 00:03:34
      29. Setting Up the GUI in OOP 00:02:22
      30. Finalizing the Data Structure 00:02:52
      31. Creating Broader Visual Elements 00:09:09
      32. Loading Drum Samples 00:03:09
      33. Playing the Drum Machine 00:05:54
      34. Tkinter and Threading 00:05:10
      35. Support for Multiple Beat Patterns 00:02:21
      36. Setting Up the GUI in OOP 00:06:04
      37. Working with the ttk-themed Widgets 00:09:54
      38. Structuring Our Program 00:09:31
      39. Modeling the Data Structures 00:04:26
      40. Creating a Piece Class 00:13:54
      41. Making the Game Functional 00:07:25
      42. Managing User Preferences 00:05:19
      43. External Library Requirements 00:03:50
      44. Program Structure and Broadview Skeleton 00:05:27
      45. Deciding the Data Structure and Creating the Player class 00:04:00
      46. Adding and Removing Items from a Playlist 00:03:58
      47. Playing Audio and Adding Audio Controls 00:04:22
      48. Creating a Seek Bar 00:04:33
      49. One-Time Updates during audio playback 00:02:18
      50. Managing Continuous Updates 00:02:29
      51. Looping Over Tracks 00:02:32
      52. Adding a Tooltip 00:03:45
      53. `Creating a Tiny Framework 00:07:19
      54. Setting Up a Broad GUI Structure 00:01:45
      55. Dealing with Mouse Events 00:01:58
      56. Adding Toolbar Buttons 00:03:44
      57. Drawing Items on the Canvas 00:07:35
      58. Adding a Color Palette 00:02:50
      59. Adding Top Bar Options for Draw Methods 00:04:03
      60. Drawing Irregular Lines and Super Shapes 00:04:10
      61. Adding Functionality to the Remaining Buttons 00:06:00
      62. Adding Functionality to Menu Items 00:03:24
    3. Chapter 3 : Python Data Visualization Solutions
      1. The Course Overview 00:03:38
      2. Importing Data from CSV 00:04:33
      3. Importing Data from Microsoft Excel Files 00:04:46
      4. Importing Data from Fix-Width Files 00:03:06
      5. Importing Data from Tab Delimited Files 00:02:23
      6. Importing Data from a JSON Resource 00:05:17
      7. Importing Data from a Database 00:05:09
      8. Cleaning Up Data from Outliers 00:05:54
      9. Importing Image Data into NumPy Arrays 00:06:01
      10. Generating Controlled Random Datasets 00:06:36
      11. Smoothing Noise in Real-World Data 00:04:45
      12. Defining Plot Types and Drawing Sine and Cosine Plots 00:07:53
      13. Defining Axis Lengths and Limits 00:05:16
      14. Defining Plot Line Styles, Properties, and Format Strings 00:01:59
      15. Setting Ticks, Labels, and Grids 00:02:43
      16. Adding Legends and Annotations 00:02:33
      17. Moving Spines to Center 00:01:22
      18. Making Histograms 00:03:59
      19. Making Bar Charts with Error Bars 00:03:23
      20. Making Pie Charts Count 00:01:59
      21. Plotting with Filled Areas 00:01:56
      22. Drawing Scatter Plots with Colored Markers 00:02:13
      23. Displaying Images with Other Plots in the Figure 00:03:56
      24. Plotting Data on a Map Using Basemap 00:02:26
      25. Generating CAPTCHA 00:03:57
      26. Understanding Logarithmic Plots 00:03:05
      27. Creating a Stem Plot 00:03:24
      28. Drawing Streamlines of Vector Flow 00:02:01
      29. Using Colormaps 00:02:56
      30. Using Scatter Plots and Histograms 00:03:03
      31. Plotting the Cross Correlation Between Two Variables 00:05:33
      32. The Importance of Autocorrelation 00:03:13
      33. Drawing Barbs 00:06:02
      34. Making a Box-and-Whisker Plot 00:06:18
      35. Adding a Shadow to the Chart Line 00:03:52
      36. Adding a Data Table to the Figure 00:05:23
      37. Using Subplots 00:06:36
      38. Customizing Grids 00:05:19
      39. Creating Contour Plots 00:04:18
      40. Filling an Under-Plot Area 00:03:28
      41. Drawing Polar Plots 00:05:17
      42. Visualizing the filesystem Tree Using a Polar Bar 00:04:29
      43. Creating 3D Bars 00:03:27
      44. Creating 3D Histograms 00:04:11
      45. Animating with OpenGL 00:06:24
      46. Plotting with Images 00:03:37
      47. Making Gantt Charts 00:03:50
      48. Making Error Bars 00:04:40
      49. Making Use of Text and Font Properties 00:04:00
      50. Understanding the Difference between pyplot and OO API 00:05:13
    4. Chapter 4 : Python Machine Learning Solutions
      1. Preprocessing Data Using Different Techniques 00:06:39
      2. Label Encoding 00:02:26
      3. Building a Linear Regressor 00:04:26
      4. Regression Accuracy and Model Persistence 00:03:41
      5. Building a Ridge Regressor 00:02:41
      6. Building a Polynomial Regressor 00:02:33
      7. Estimating housing prices 00:03:46
      8. Computing relative importance of features 00:01:54
      9. Estimating bicycle demand distribution 00:04:35
      10. Building a Simple Classifier 00:03:40
      11. Building a Logistic Regression Classifier 00:04:51
      12. Building a Naive Bayes’ Classifier 00:02:11
      13. Splitting the Dataset for Training and Testing 00:01:23
      14. Evaluating the Accuracy Using Cross-Validation 00:04:07
      15. Visualizing the Confusion Matrix and Extracting the Performance Report 00:04:14
      16. Evaluating Cars based on Their Characteristics 00:05:12
      17. Extracting Validation Curves 00:02:49
      18. Extracting Learning Curves 00:01:37
      19. Extracting the Income Bracket 00:03:36
      20. Building a Linear Classifier Using Support Vector Machine 00:04:24
      21. Building Nonlinear Classifier Using SVMs 00:01:47
      22. Tackling Class Imbalance 00:02:54
      23. Extracting Confidence Measurements 00:02:37
      24. Finding Optimal Hyper-Parameters 00:02:17
      25. Building an Event Predictor 00:03:45
      26. Estimating Traffic 00:02:40
      27. Clustering Data Using the k-means Algorithm 00:03:08
      28. Compressing an Image Using Vector Quantization 00:03:38
      29. Building a Mean Shift Clustering 00:02:36
      30. Grouping Data Using Agglomerative Clustering 00:03:05
      31. Evaluating the Performance of Clustering Algorithms 00:02:56
      32. Automatically Estimating the Number of Clusters Using DBSCAN 00:03:34
      33. Finding Patterns in Stock Market Data 00:02:35
      34. Building a Customer Segmentation Model 00:02:22
      35. Building Function Composition for Data Processing 00:03:26
      36. Building Machine Learning Pipelines 00:03:55
      37. Finding the Nearest Neighbors 00:01:56
      38. Constructing a k-nearest Neighbors Classifier 00:04:19
      39. Constructing a k-nearest Neighbors Regressor 00:02:44
      40. Computing the Euclidean Distance Score 00:02:09
      41. Computing the Pearson Correlation Score 00:01:55
      42. Finding Similar Users in a Dataset 00:01:35
      43. Generating Movie Recommendations 00:02:35
      44. Preprocessing Data Using Tokenization 00:03:00
      45. Stemming Text Data 00:02:23
      46. Converting Text to Its Base Form Using Lemmatization 00:02:11
      47. Dividing Text Using Chunking 00:02:03
      48. Building a Bag-of-Words Model 00:02:59
      49. Building a Text Classifier 00:04:43
      50. Identifying the Gender 00:02:18
      51. Analyzing the Sentiment of a Sentence 00:03:10
      52. Identifying Patterns in Text Using Topic Modelling 00:04:52
      53. Reading and Plotting Audio Data 00:02:34
      54. Transforming Audio Signals into the Frequency Domain 00:02:10
      55. Generating Audio Signals with Custom Parameters 00:01:46
      56. Synthesizing Music 00:02:10
      57. Extracting Frequency Domain Features 00:02:06
      58. Building Hidden Markov Models 00:02:19
      59. Building a Speech Recognizer 00:03:12
      60. Transforming Data into the Time Series Format 00:03:07
      61. Slicing Time Series Data 00:01:32
      62. Operating on Time Series Data 00:01:42
      63. Extracting Statistics from Time Series 00:02:29
      64. Building Hidden Markov Models for Sequential Data 00:04:16
      65. Building Conditional Random Fields for Sequential Text Data 00:04:27
      66. Analyzing Stock Market Data with Hidden Markov Models 00:02:26
      67. Operating on Images Using OpenCV-Python 00:03:08
      68. Detecting Edges 00:02:47
      69. Histogram Equalization 00:02:31
      70. Detecting Corners and SIFT Feature Points 00:03:47
      71. Building a Star Feature Detector 00:01:35
      72. Creating Features Using Visual Codebook and Vector Quantization 00:04:11
      73. Training an Image Classifier Using Extremely Random Forests 00:02:30
      74. Building an object recognizer 00:01:54
      75. Capturing and Processing Video from a Webcam 00:01:58
      76. Building a Face Detector using Haar Cascades 00:02:40
      77. Building Eye and Nose Detectors 00:01:54
      78. Performing Principal Component Analysis 00:02:17
      79. Performing Kernel Principal Component Analysis 00:02:03
      80. Performing Blind Source Separation 00:02:16
      81. Building a Face Recognizer Using a Local Binary Patterns Histogram 00:04:14
      82. Building a Perceptron 00:02:40
      83. Building a Single-Layer Neural Network 00:01:37
      84. Building a deep neural network 00:02:19
      85. Creating a Vector Quantizer 00:01:41
      86. Building a Recurrent Neural Network for Sequential Data Analysis 00:02:24
      87. Visualizing the Characters in an Optical Character Recognition Database 00:01:48
      88. Building an Optical Character Recognizer Using Neural Networks 00:02:28
      89. Plotting 3D Scatter plots 00:02:43
      90. Plotting Bubble Plots 00:01:16
      91. Animating Bubble Plots 00:01:57
      92. Drawing Pie Charts 00:01:34
      93. Plotting Date-Formatted Time Series Data 00:01:33
      94. Plotting Histograms 00:01:05
      95. Visualizing Heat Maps 00:01:15
      96. Animating Dynamic Signals 00:02:07