Providing Technology Training and Mentoring For Modern Technology Adoption
Web Age Aniversary Logo
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887
Course #:WA2703

Introduction to Python Development Training

This 3 day course is designed to provide Developers and/or Data Analysts a gentle immersive hands-on introduction to the Python programming language; it also introduces Python for Data Science.

Audience

Developers and/or Data Analysts

Duration

Three days

Outline of Introduction to Python Development Training

Chapter 1. Introduction to Python

  • What is Python
  • Uses of Python
  • Installing Python
  • Python Package Manager (PIP)
  • Using the Python Shell
  • Python Code Conventions
  • Importing Modules
  • The Help(object) Command
  • The Help Prompt
  • Summary

Chapter 2. Python Scripts

  • Executing Python Code
  • Python Scripts
  • Writing Scripts
  • Running Python Scripts
  • Self Executing Scripts
  • Accepting Command-Line Parameters
  • Accepting Interactive Input
  • Retrieving Environment Settings
  • Summary

Chapter 3. Data Types and Variables

  • Creating Variables
  • Displaying Variables
  • Basic Concatenation
  • Data Types
  • Strings
  • Strings as Arrays
  • String Methods
  • Combining Strings and Numbers
  • Numeric Types
  • Integer Types
  • Floating Point Types
  • Boolean Types
  • Checking Data Type
  • Summary

Chapter 4. Python Collections

  • Python Collections
  • List Type
  • Modifying Lists
  • Sorting a List
  • Tuple Type
  • Python Sets
  • Modifying Sets
  • Dictionary (Map) Type
  • Dictionary Methods
  • Sequences
  • Summary

Chapter 5. Data Type Conversions in Python

  • Data Type Conversions
  • Conversions from other Types to Integer
  • Conversions from other Types to Float
  • Conversions from other Types to String
  • Conversions from other Types to Boolean
  • Converting Between Set, List and Tuple Data Structures
  • Modifying Tuples
  • Combining Set, List and Tuple Data Structures
  • Creating Dictionaries from other Data Structures
  • Summary

Chapter 6. Python Objects

  • Object Orientation
  • Creating a Basic Class
  • The __init__() Function
  • Properties
  • Methods
  • Adding Methods
  • Class Inheritance
  • Overriding Parent Methods
  • Multiple Inheritance
  • Summary

Chapter 7. Control Statements and Looping

  • If Statement
  • elif Keyword
  • Boolean Conditions
  • Single Line If Statements
  • For-in Loops
  • Looping over an Index
  • Range Function
  • Nested Loops
  • While Loops
  • Exception Handling
  • Built-in Exceptions
  • Exceptions thrown by Built-In Functions
  • Summary

Chapter 8. Reading and Writing Text Files

  • Opening a File
  • Writing a File
  • Reading a File
  • Appending to a File
  • File Operations Using the With Statement
  • File and Directory Operations
  • Reading JSON
  • Writing JSON
  • Summary

Chapter 9. Functions in Python

  • Defining Functions
  • Naming Functions
  • Using Functions
  • Function Parameters
  • Named Parameters
  • Variable Length Parameter List
  • How Parameters are Passed
  • Variable Scope
  • Returning Values
  • Docstrings
  • Best Practices
  • Single Responsibility
  • Returning a Value
  • Function Length
  • Pure and Idempotent Functions
  • Summary

Chapter 10. Python Modules and Code Reuse

  • Code Organization in Python
  • Python Modules
  • Python Module Example
  • Using Modules
  • Import Statements
  • Using Modules in Multiple Projects
  • How Does Python Find Modules?
  • Adding Directories to Sys.Path
  • Packages in Python
  • Example Package
  • Accessing the Package Functions
  • Using the Package's Initialization File
  • Summary

Chapter 11. Functional Programming Primer

  • What is Functional Programming?
  • Benefits of Functional Programming
  • Functions as Data
  • Using Map Function
  • Using Filter Function
  • Lambda expressions
  • List.sort() Using Lambda Expression
  • Difference Between Simple Loops and map/filter Type Functions
  • Additional Functions
  • General Rules for Creating Functions
  • Summary

Chapter 12. Python Standard Library

  • The Python Standard Library
  • The os Library
  • The sys Library
  • The datetime Library
  • The math Library
  • The random Library
  • The statistics Library
  • The urllib Package
  • Libraries for Archiving and Compression
  • The timeit Package
  • Other Useful Library Functions
  • Summary

Chapter 13. Python for Data Science

  • In-Class Discussion
  • Python Data Science-Centric Libraries
  • NumPy
  • NumPy Arrays
  • Select NumPy Operations
  • SciPy
  • pandas
  • Creating a pandas DataFrame
  • Fetching and Sorting Data
  • Scikit-learn
  • Matplotlib
  • Seaborn
  • Python Dev Tools and REPLs
  • IPython
  • Jupyter
  • Jupyter Operation Modes
  • Jupyter Common Commands
  • Anaconda
  • Summary

Chapter 14. Exception Handling, Errors Logging and Debugging

  • Exceptions
  • Built-in Exceptions
  • User-Defined Exceptions
  • Exceptions Raised by Built-In Functions and Operations
  • Raising Exceptions in Code
  • Uncaught Exceptions
  • Catching Exceptions: try-except
  • Catching Exceptions: try-except-else
  • Catching Exceptions: The finally Block
  • 'with' Statement
  • Python Logging
  • Outputting Data in Log Statements
  • Logging to a File
  • Debug Logging
  • Summary

Chapter 15. Pulling Data from a Database to a Flat File

  • The Python Database API Specification
  • The Python sqlite3 Embedded Database Module
  • Creating a Database and Table
  • Reading Data from a Table
  • Bulk Inserts
  • Extracting data into a Python Collection
  • The csv Module
  • Writing to a CSV File
  • Reading from a CSV File
  • Putting it All Together
  • Reading and Writing Pandas Dataframes
  • Summary

Chapter 16. Test Driven Development with Python

  • Test Driven Development
  • TDD Advantages
  • Types of Testing
  • unittest Framework
  • Unit Test Concepts
  • Example Code to Test
  • Example Test Script
  • Running Tests
  • Running Tests in Verbose Mode
  • Failed Test Output in Verbose Mode
  • Test Discovery
  • Setup and Teardown of TestClasses
  • Setup and Teardown for Individual Tests
  • Assert Methods
  • Skipping Tests
  • Summary

Lab Exercises

Lab 1. Introduction to Python
Lab 2. Creating Scripts
Lab 3. Variables in Python
Lab 4. Collections
Lab 5. Control Statements and Loops
Lab 6. Reading and Writing Text Files
Lab 7. Functions in Python
Lab 8. Functional Programming
Lab 9. Jupyter Notebook Basics
Lab 10. Python with NumPy and pandas
Lab 11. Loading Data from an Excel Spreadsheet
Lab 12. Extracting Database to a Flat File
Lab 13. Implementing Test Driven Development

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887