This 4 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.
Introduction to Python
- 1.1 What is Python
- 1.2 Uses of Python
- 1.3 Installing Python
- 1.4 Python Package Manager (PIP)
- 1.5 Using the Python Shell
- 1.6 Python Code Conventions
- 1.7 Importing Modules
- 1.8 The Help(object) Command
- 1.9 The Help Prompt
Python Scripts
- 2.1 Executing Python Code
- 2.2 Python Scripts
- 2.3 Writing Scripts
- 2.4 Running Python Scripts
- 2.5 Self Executing Scripts
- 2.6 Accepting Command-Line Parameters
- 2.7 Accepting Interactive Input
- 2.8 Retrieving Environment Settings
Data Types and Variables
- 3.1 Creating Variables
- 3.2 Displaying Variables
- 3.3 Basic Concatenation
- 3.4 Data Types
- 3.5 Strings
- 3.6 Strings as Arrays
- 3.7 String Methods
- 3.8 Combining Strings and Numbers
- 3.9 Numeric Types
- 3.10 Integer Types
- 3.11 Floating Point Types
- 3.12 Boolean Types
- 3.13 Checking Data Type
Python Collections
- 4.1 Python Collections
- 4.2 List Type
- 4.3 Modifying Lists
- 4.4 Sorting a List
- 4.5 Tuple Type
- 4.6 Python Sets
- 4.7 Modifying Sets
- 4.8 Dictionary (Map) Type
- 4.9 Dictionary Methods
- 4.10 Sequences
Data Type Conversions in Python
- 5.1 Data Type Conversions
- 5.2 Conversions from other Types to Integer
- 5.3 Conversions from other Types to Float
- 5.4 Conversions from other Types to String
- 5.5 Conversions from other Types to Boolean
- 5.6 Converting Between Set, List and Tuple Data Structures
- 5.7 Modifying Tuples
- 5.8 Combining Set, List and Tuple Data Structures
- 5.9 Creating Dictionaries from other Data Structures
Python Objects
- 6.1 Scope and Namespace
- 6.2 Introduction to Objects
- 6.3 Class variables (self)
- 6.4 Methods
- 6.5 Inheritance
- 6.6 Introduction to creating Packages
- 6.7 Virtual Environments
- 6.8 Testing – a real example where we use an object
Control Statements and Looping
- 7.1 If Statement
- 7.2 elif Keyword
- 7.3 Boolean Conditions
- 7.4 Single Line If Statements
- 7.5 For-in Loops
- 7.6 Looping over an Index
- 7.7 Range Function
- 7.8 Nested Loops
- 7.9 While Loops
- 7.10 Exception Handling
- 7.11 Built-in Exceptions
- 7.12 Exceptions thrown by Built-In Functions
Reading and Writing Text Files
- 8.1 Opening a File
- 8.2 Writing a File
- 8.3 Reading a File
- 8.4 Appending to a File
- 8.5 File Operations Using the With Statement
- 8.6 File and Directory Operations
- 8.7 Reading JSON
- 8.8 Writing JSON
Functions in Python
- 9.1 Defining Functions
- 9.2 Using Functions
- 9.3 Function Parameters
- 9.4 Named Parameters
- 9.5 Variable Length Parameter List
- 9.6 How Parameters are Passed
- 9.7 Variable Scope
- 9.8 Returning Values
Python Modules and Code Reuse
- 10.1 Code Organization in Python
- 10.2 Python Modules
- 10.3 Python Packages
- 10.4 Import Statements
- 10.5 The Package Initialization File
Functional Programming Primer
- 11.1 What is Functional Programming
- 11.2 Benefits of Functional Programming
- 11.3 Functions as Data
- 11.4 Using Map Function
- 11.5 Using Filter Function
- 11.6 Lambda expressions
- 11.7 List.sort() Using Lambda Expression
- 11.8 Difference Between Simple Loops and map/filter Type Functions
- 11.9 Additional Functions
Python Standard Library
- 12.1 Brief Tour of the Standard Library — Part I
- 12.1.1. Operating System Interface
- 12.1.2. File Wildcards
- 12.1.3. Command Line Arguments
- 12.1.4. Error Output Redirection and Program Termination
- 12.1.5. String Pattern Matching
- 12.1.6. Mathematics
- 12.1.7. Internet Access
- 12.1.8. Dates and Times
- 12.1.9. Data Compression
- 12.1.10. Performance Measurement
- 12.1.11. Quality Control
- 12.1.12. Batteries Included
- 12.2 Brief Tour of the Standard Library — Part II
- 12.2.1. Output Formatting
- 12.2.2. Templating
- 12.2.3. Working with Binary Data Record Layouts
- 12.2.4. Multi-threading
- 12.2.5. Logging
- 12.2.6. Weak References
- 12.2.7. Tools for Working with Lists
- 12.2.8. Decimal Floating Point Arithmetic
Python for Data Science
- 13.2 Importing Modules
- 13.3 Listing Methods in a Module
- 13.4 Creating Your Own Modules
- 13.5 Random Numbers
- 13.6 Zipping Lists
- 13.7 List Comprehension
- 13.8 Python Data Science-Centric Libraries
- 13.9 NumPy
- 13.10 NumPy Arrays
- 13.11 Select NumPy Operations
- 13.12 SciPy
- 13.13 pandas
- 13.14 Creating a pandas DataFrame
- 13.15 Fetching and Sorting Data
- 13.16 Scikit-learn
- 13.17 Matplotlib
- 13.18 Python Dev Tools and REPLs
- 13.19 IPython
- 13.20 Jupyter
- 13.21 Jupyter Operation Modes
- 13.22 Jupyter Common Commands
- 13.23 Anaconda
Exception Handling, Error Logging and Debugging
- 14.1 Handling exception with try
- 14.2 Error hierarchy
- 14.3 Catch / throw
- 14.4 Stepping through code in VS Code
Pulling Data from a Database to a Flat file
- 15.1 DB2
- 15.2 MS SQLServer
Test Driven Development
- 16.1 Unit testing vs functional testing vs integration testing
- 16.2 Basic unit testing framework example
- 16.3 Testing – a real example (using an object)