8280  Reviews star_rate star_rate star_rate star_rate star_half

Pragmatic Python Programming

This intensive four-day hands-on course takes the attendees on a learning path that goes well beyond the basics of Python programming and teaches the participants the best practices for using Python....

Read More
$2,620 USD
Duration 4 days
Course Code WA3174
Available Formats Classroom

Overview

This intensive four-day hands-on course takes the attendees on a learning path that goes well beyond the basics of Python programming and teaches the participants the best practices for using Python. The participants are introduced to topics that are grouped into categories such as Robust Programming Techniques, Securing Data in Python, and the like. The participants will learn about the practical aspects of using high-leverage Python modules and programming techniques that will enable them to effectively apply the knowledge gained in this training to a wide range of problem domains.

Who Can Benefit

  • Developers, Software Engineers, and Data Analysts

Prerequisites

  • Participants are expected to have some Python programming experience.
  • Make sure you’ve taken WA3016 Practical Python 3 Programming (Beginner) (as a prerequisite) before you take this course.

Course Details

Outline

Chapter 1. Standing up Python Development Environment

  • Python IDEs and REPLs
  • VS Code vs PyCharm IDEs
  • VS Code: Debugging Perspective
  • PyCharm: Debugging Perspective
  • Python Package Managers
  • Core Pip Commands
  • The Requirements File
  • What are "Virtual Environments"?
  • Tools for Creating "Virtual Environments"
  • Creating Virtual Environments with the venv Tool
  • Activating and Deactivating Virtual Environments
  • Summary

Chapter 2. Beyond the Basics of Python

  • PEP8
  • Hands-On Activities
  • String Formatting and Interpolation
  • Hands-On Activities
  • Common Collection Functions and Operators
  • Raw String Literals
  • Accessing Python Lists
  • Main Python List Methods
  • Joining List Elements
  • Hands-On Activities
  • Set Operations with Sets
  • Unpacking Tuples
  • Conditional Expressions (a.k.a. Ternary Operator)
  • Enumerate
  • List Comprehension
  • Dictionary Comprehension
  • Hands-On Activities
  • Zipping Lists
  • Hands-On Activities
  • Global and Local Variable Scopes
  • Python Function Parameters: "Call By Sharing"
  • Functions: Default Parameters
  • Functions: Named Parameters
  • Dealing with Arbitrary Number of Parameters
  • Keyword Function Parameters
  • Returning Multiple Values from a Function
  • Docstrings
  • A Very Basic Docstring Example of a Simple Function
  • Hands-On Activities
  • Lambda Functions in Python
  • Examples of Using Lambdas
  • Hands-On Activities
  • Lambdas in the Sorted Function
  • Closures
  • Hands-On Activities
  • Generators
  • Where to Use Generators
  • Example of a Generator
  • Generator Expressions
  • Random Numbers
  • Regular Expressions
  • The re Object Methods
  • Using Regular Expressions Examples
  • Python Collections
  • The Counter Class
  • Counter Class Example
  • Python Object De/Serialization
  • A pickle Example
  • Profiling
  • Python Built-in Profiling Capabilities
  • Example of Code Execution Profiling
  • Summary

Chapter 3. Robust Programming Techniques

  • Defining Robust Programming
  • Assertions
  • The assert Expression in Python
  • Hands-On Activities
  • What is Unit Testing and Why Should I Care?
  • Unit Testing and Test-driven Development
  • TDD Benefits
  • Unit Testing in Python
  • Steps for Creating a Unit Test in Python
  • Running the Unit Tests
  • A Unit Test Example
  • Errors
  • The try-except-finally Construct
  • What's Wrong with this Error-Handling Code?
  • Life after an Exception
  • Assertions vs Errors (Exceptions)
  • Hands-On Activities
  • What is Logging and Why Should I Care?
  • A Simple Print Statement vs Logging
  • Logging Levels
  • The Logger Hierarchy
  • The Logging Levels
  • Setting the Logging Level
  • Configuring Logging Messages
  • Example of Using Logging
  • Logging in Python: December 9, 2021 Update
  • Hands-On Activities
  • Summary

Chapter 4. Using Operating System Functionality in Python

  • Interfacing with OS-Level Functionality in Python
  • The os Module
  • Interfacing with Files and Directories (1 of 2)
  • Interfacing with Files and Directories (2 of 2)
  • The os.path Module
  • Process Management
  • System Information
  • The sys Module Overview (1 of 2)
  • The sys Module Overview (2 of 2)
  • Summary

Chapter 5. Object Inspection and Dynamic Code Creation

  • Object Inspection
  • Object Inspection Example
  • AST, Compile, and Exec
  • Why is It Possible?
  • Example of Dynamic Code Creation and Execution
  • The eval Function
  • Summary

Chapter 6. Introduction to NumPy

  • What is NumPy?
  • The First Take on NumPy Arrays
  • The ndarray Data Structure
  • Understanding Axes
  • Indexing Elements in a NumPy Array
  • Re-Shaping
  • Commonly Used Array Metrics
  • Commonly Used Aggregate Functions
  • Sorting Arrays
  • Vectorization
  • Vectorization Visually
  • Broadcasting
  • Broadcasting Visually
  • Filtering
  • Array Arithmetic Operations
  • Reductions: Finding the Sum of Elements by Axis
  • Array Slicing
  • 2-D Array Slicing
  • The Linear Algebra Functions
  • Summary

Chapter 7. Introduction to pandas

  • What is pandas?
  • The Series Object
  • Accessing Values and Indexes in Series
  • The DataFrame Object
  • The DataFrame's Value Proposition
  • Creating a pandas DataFrame
  • Getting DataFrame Metrics
  • Accessing DataFrame Columns
  • Accessing DataFrame Rows
  • Accessing DataFrame Cells
  • Using iloc
  • Using loc
  • Examples of Using loc
  • Filtering Rows
  • DataFrames are Mutable via Object Reference!
  • Deleting Rows and Columns
  • Adding a New Column to a DataFrame
  • Appending / Concatenating DataFrame and Series Objects
  • Example of Appending / Concatenating DataFrames
  • Getting Descriptive Statistics of DataFrame Columns
  • Getting Descriptive Statistics of DataFrames
  • Sorting DataFrames
  • Reading From CSV Files
  • Writing to a CSV File
  • Simple Plotting with pandas
  • A Plotting Example
  • The pyplot Module
  • Summary

Chapter 8. Data Visualization in Python

  • Why Do I Need Data Visualization?
  • Data Visualization in Python
  • Getting Started with matplotlib
  • A Basic Plot
  • Scatter Plots
  • Figures
  • Saving Figures to a File
  • Seaborn
  • Getting Started with seaborn
  • Histograms and KDE
  • Plotting Bivariate Distributions
  • Scatter Plots in seaborn
  • Pair plots in seaborn
  • Heatmaps
  • A Seaborn Scatterplot with Varying Point Sizes and Hues
  • Summary

Chapter 9. Securing Data with Python

  • States of Digital Data
  • Protecting Sensitive Data at Rest
  • Hashing
  • Secure Hashes in Python
  • Salting
  • An Example of Creating a Secure Hash in Python
  • Hands-On Activities
  • Keyed-Hashing for Message Authentication (HMAC)
  • An HMAC Example
  • Key Stretching (Derivation)
  • Key Stretching in Python
  • The scrypt Function
  • Hands-On Activities
  • Symmetric and Asymmetric (Public) Key Encryption
  • Using the openssl Tool
  • Summary

Lab Exercises

  • Lab 1. Learning the CoLab Jupyter Notebook Environment
  • Lab 2. Standing Up Python Development Environments
  • Lab 3. Beyond the Basics of Python
  • Lab 4. Robust Programming
  • Lab 5. Using Operating System Functionality in Python
  • Lab 6. Object Inspection and Dynamic Code Creation and Execution
  • Lab 7. Programming with NumPy
  • Lab 8. Programming with pandas
  • Lab 9. Data Visualization using the seaborn-pandas Link
  • Lab 10. Securing Data with Python
  • Lab 11. Data Encryption with the openssl Tool (for Review)
  • Lab 12. Keyed-Hashing for Message Authentication Project
  • Lab 13. The Logging Project
  • Lab 14. The pandas Project
  • Lab 15. The Dynamic Object Creation Project

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

The tool provided to practice the course teachings is very functional and easy to use.

the interface was super easy to use and the instructions to get ready for the course was also very simple and easy to understand.

vary good online learning. instructor is vary good the way he explained every thing.

It is very good and very simple instructions. almost to much hand holding.

I was very satisfied about how the course was organized. Sean Did a very good work

Prerequisites