Video description
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!
What You Will Learn
- Become proficient at creating tools and utility programs in Python
- Create apps that can be scaled in size or complexity without breaking down the core
- Understand the basics of 2D and 3D animation in GUI applications
- Make 3D visualizations mainly using mplot3d
- Understand the most appropriate charts to describe your data
- Use predictive modeling and apply it to real-world problems
- Work with image data and build systems for image recognition and biometric face recognition
Audience
Requires beginner-level knowledge of Python and cursory information about Tkinter, data visualization, and machine learning.
Publisher resources
Table of contents
-
Chapter 1 : Mastering Python - Second Edition
- The Course Overview
- Python Basic Syntax and Block Structure
- Built-in Data Structures and Comprehensions
- First-Class Functions and Classes
- Extensive Standard Library
- New in Python 3.5
- Downloading and Installing Python
- Using the Command-Line and the Interactive Shell
- Installing Packages with pip
- Finding Packages in the Python Package Index
- Creating an Empty Package
- Adding Modules to the Package
- Importing One of the Package's Modules from Another
- Adding Static Data Files to the Package
- PEP 8 and Writing Readable Code
- Using Version Control
- Using venv to Create a Stable and Isolated Work Area
- Getting the Most Out of docstrings 1: PEP 257 and docutils
- Getting the Most Out of docstrings 2: doctest
- Making a Package Executable via python -m
- Handling Command-Line Arguments with argparse
- Interacting with the User
- Executing Other Programs with Subprocess
- Using Shell Scripts or Batch Files to Run Our Programs
- Using concurrent.futures
- Using Multiprocessing
- Understanding Why This Isn't Like Parallel Processing
- Using the asyncio Event Loop and Coroutine Scheduler
- Waiting for Data to Become Available
- Synchronizing Multiple Tasks
- Communicating Across the Network
- Using Function Decorators
- Function Annotations
- Class Decorators
- Metaclasses
- Context Managers
- Descriptors
- Understanding the Principles of Unit Testing
- Using the unittest Package
- Using unittest.mock
- Using unittest's Test Discovery
- Using Nose for Unified Test Discover and Reporting
- What Does Reactive Programming Mean?
- Building a Simple Reactive Programming Framework
- Using the Reactive Extensions for Python (RxPY)
- Microservices and the Advantages of Process Isolation
- Building a High-Level Microservice with Flask
- Building a Low-Level Microservice with nameko
- Advantages and Disadvantages of Compiled Code
- Accessing a Dynamic Library Using ctypes
- Interfacing with C Code Using Cython
-
Chapter 2 : Tkinter GUI Application Development Projects
- The Course Overview
- Installing Python and Tkinter
- Importing Tkinter
- GUI Programming – the Big Picture
- The Root Window – Your Drawing Board
- Widgets – the Building Blocks of GUI Programs
- The Tkinter Geometry Manager
- Event and Callbacks – Adding Life to Programs
- Handling Widgets – Specific Variables
- Event Unbinding and Virtual Events
- Platform-Based Styling for Our Widgets
- Some Common Root Window Options
- Setting Up the Editor Skeleton
- Adding a Menu and Menu Items
- Implementing the View Menu
- Adding a Built-in Functionality
- Indexing and Tagging
- Implementing the Select All Feature
- Implementing the Find Text Feature
- Types of Top Level Windows
- Working with Forms and Dialogs
- Working with Message Boxes
- The Icons Toolbar and View Menu Functions
- Displaying the Line Number
- Adding the Cursor Information Bar
- Adding Themes
- Creating the Context/Pop-Up Menu
- Module Requirements for Programmable Drum Machine
- Setting Up the GUI in OOP
- Finalizing the Data Structure
- Creating Broader Visual Elements
- Loading Drum Samples
- Playing the Drum Machine
- Tkinter and Threading
- Support for Multiple Beat Patterns
- Setting Up the GUI in OOP
- Working with the ttk-themed Widgets
- Structuring Our Program
- Modeling the Data Structures
- Creating a Piece Class
- Making the Game Functional
- Managing User Preferences
- External Library Requirements
- Program Structure and Broadview Skeleton
- Deciding the Data Structure and Creating the Player class
- Adding and Removing Items from a Playlist
- Playing Audio and Adding Audio Controls
- Creating a Seek Bar
- One-Time Updates during audio playback
- Managing Continuous Updates
- Looping Over Tracks
- Adding a Tooltip
- `Creating a Tiny Framework
- Setting Up a Broad GUI Structure
- Dealing with Mouse Events
- Adding Toolbar Buttons
- Drawing Items on the Canvas
- Adding a Color Palette
- Adding Top Bar Options for Draw Methods
- Drawing Irregular Lines and Super Shapes
- Adding Functionality to the Remaining Buttons
- Adding Functionality to Menu Items
-
Chapter 3 : Python Data Visualization Solutions
- The Course Overview
- Importing Data from CSV
- Importing Data from Microsoft Excel Files
- Importing Data from Fix-Width Files
- Importing Data from Tab Delimited Files
- Importing Data from a JSON Resource
- Importing Data from a Database
- Cleaning Up Data from Outliers
- Importing Image Data into NumPy Arrays
- Generating Controlled Random Datasets
- Smoothing Noise in Real-World Data
- Defining Plot Types and Drawing Sine and Cosine Plots
- Defining Axis Lengths and Limits
- Defining Plot Line Styles, Properties, and Format Strings
- Setting Ticks, Labels, and Grids
- Adding Legends and Annotations
- Moving Spines to Center
- Making Histograms
- Making Bar Charts with Error Bars
- Making Pie Charts Count
- Plotting with Filled Areas
- Drawing Scatter Plots with Colored Markers
- Displaying Images with Other Plots in the Figure
- Plotting Data on a Map Using Basemap
- Generating CAPTCHA
- Understanding Logarithmic Plots
- Creating a Stem Plot
- Drawing Streamlines of Vector Flow
- Using Colormaps
- Using Scatter Plots and Histograms
- Plotting the Cross Correlation Between Two Variables
- The Importance of Autocorrelation
- Drawing Barbs
- Making a Box-and-Whisker Plot
- Adding a Shadow to the Chart Line
- Adding a Data Table to the Figure
- Using Subplots
- Customizing Grids
- Creating Contour Plots
- Filling an Under-Plot Area
- Drawing Polar Plots
- Visualizing the filesystem Tree Using a Polar Bar
- Creating 3D Bars
- Creating 3D Histograms
- Animating with OpenGL
- Plotting with Images
- Making Gantt Charts
- Making Error Bars
- Making Use of Text and Font Properties
- Understanding the Difference between pyplot and OO API
-
Chapter 4 : Python Machine Learning Solutions
- Preprocessing Data Using Different Techniques
- Label Encoding
- Building a Linear Regressor
- Regression Accuracy and Model Persistence
- Building a Ridge Regressor
- Building a Polynomial Regressor
- Estimating housing prices
- Computing relative importance of features
- Estimating bicycle demand distribution
- Building a Simple Classifier
- Building a Logistic Regression Classifier
- Building a Naive Bayes’ Classifier
- Splitting the Dataset for Training and Testing
- Evaluating the Accuracy Using Cross-Validation
- Visualizing the Confusion Matrix and Extracting the Performance Report
- Evaluating Cars based on Their Characteristics
- Extracting Validation Curves
- Extracting Learning Curves
- Extracting the Income Bracket
- Building a Linear Classifier Using Support Vector Machine
- Building Nonlinear Classifier Using SVMs
- Tackling Class Imbalance
- Extracting Confidence Measurements
- Finding Optimal Hyper-Parameters
- Building an Event Predictor
- Estimating Traffic
- Clustering Data Using the k-means Algorithm
- Compressing an Image Using Vector Quantization
- Building a Mean Shift Clustering
- Grouping Data Using Agglomerative Clustering
- Evaluating the Performance of Clustering Algorithms
- Automatically Estimating the Number of Clusters Using DBSCAN
- Finding Patterns in Stock Market Data
- Building a Customer Segmentation Model
- Building Function Composition for Data Processing
- Building Machine Learning Pipelines
- Finding the Nearest Neighbors
- Constructing a k-nearest Neighbors Classifier
- Constructing a k-nearest Neighbors Regressor
- Computing the Euclidean Distance Score
- Computing the Pearson Correlation Score
- Finding Similar Users in a Dataset
- Generating Movie Recommendations
- Preprocessing Data Using Tokenization
- Stemming Text Data
- Converting Text to Its Base Form Using Lemmatization
- Dividing Text Using Chunking
- Building a Bag-of-Words Model
- Building a Text Classifier
- Identifying the Gender
- Analyzing the Sentiment of a Sentence
- Identifying Patterns in Text Using Topic Modelling
- Reading and Plotting Audio Data
- Transforming Audio Signals into the Frequency Domain
- Generating Audio Signals with Custom Parameters
- Synthesizing Music
- Extracting Frequency Domain Features
- Building Hidden Markov Models
- Building a Speech Recognizer
- Transforming Data into the Time Series Format
- Slicing Time Series Data
- Operating on Time Series Data
- Extracting Statistics from Time Series
- Building Hidden Markov Models for Sequential Data
- Building Conditional Random Fields for Sequential Text Data
- Analyzing Stock Market Data with Hidden Markov Models
- Operating on Images Using OpenCV-Python
- Detecting Edges
- Histogram Equalization
- Detecting Corners and SIFT Feature Points
- Building a Star Feature Detector
- Creating Features Using Visual Codebook and Vector Quantization
- Training an Image Classifier Using Extremely Random Forests
- Building an object recognizer
- Capturing and Processing Video from a Webcam
- Building a Face Detector using Haar Cascades
- Building Eye and Nose Detectors
- Performing Principal Component Analysis
- Performing Kernel Principal Component Analysis
- Performing Blind Source Separation
- Building a Face Recognizer Using a Local Binary Patterns Histogram
- Building a Perceptron
- Building a Single-Layer Neural Network
- Building a deep neural network
- Creating a Vector Quantizer
- Building a Recurrent Neural Network for Sequential Data Analysis
- Visualizing the Characters in an Optical Character Recognition Database
- Building an Optical Character Recognizer Using Neural Networks
- Plotting 3D Scatter plots
- Plotting Bubble Plots
- Animating Bubble Plots
- Drawing Pie Charts
- Plotting Date-Formatted Time Series Data
- Plotting Histograms
- Visualizing Heat Maps
- Animating Dynamic Signals
Product information
- Title: Learning Path: Expert Python Projects
- Author(s):
- Release date: January 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787123564
You might also like
video
Python A-Z: Learn Python by Building 15 Projects and ChatGPT
This comprehensive Python course covers all fundamental concepts and advanced Python concepts, and you learn a …
book
Tiny Python Projects
A long journey is really a lot of little steps. The same is true when you're …
video
Python 3: Project-based Python, Algorithms, Data Structures
This course is one of the most comprehensive and beginner-friendly courses on learning to code with …
video
Python Object-Oriented Programming: Hands-on for Beginners [Updated for 2021]
From DevOps to cloud computing and data science, the Python programming language is used in almost …