Course duration
- 5 days
Course Benefits
- Create and run basic Python programs.
- Design and code modules and classes.
- Implement and run unit tests.
- Use benchmarks and profiling to speed up programs.
- Work with various data formats.
- Process XML and JSON.
- Manipulate arrays with NumPy.
- Get a grasp of the diversity of subpackages that make up SciPy.
- Leverage pandas to easily create and structure data.
- Use matplotlib to create amazing visualizations.
- Use Jupyter notebooks for ad hoc calculations, plots, and what-if?.
Course Outline
- The Python Environment
- Starting Python
- Using the Interpreter
- Running a Python Script
- Python Scripts on Unix
- Python Scripts on Windows
- Python Editors and IDEs
- Getting Started
- Using Variables
- Built-in Functions
- Strings
- Numbers
- Converting among Types
- Writing to the Screen
- String Formatting
- Command Line Parameters
- Flow Control
- About Flow Control
- What's with the White Space?
- if and else
- Conditional Expressions
- Relational Operators
- Boolean Operators
- while Loops
- Alternate Ways to Exit a Loop
- Lists and Tuples
- About Sequences
- Lists
- Tuples
- Indexing and Slicing
- Iterating through a Sequence
- Functions for All Sequences
- Operators and Keywords for Sequences
- Nested Sequences
- List Comprehensions
- Generator Expressions
- Working with Files
- Text file I/O
- Opening a Text File
- Reading a Text File
- Writing to a Text File
- "Binary" (Raw, or Non-delimited) Data
- Dictionaries and Sets
- About Dictionaries
- When to Use Dictionaries
- Creating Dictionaries
- Iterating through a Dictionary
- About Sets
- Creating Sets
- Working with Sets
- Functions
- Defining a Function
- Function Parameters
- Variable Scope
- Returning Values
- Lambda Functions
- Exception Handling
- Syntax Errors
- Exceptions
- Handling Exceptions with Try
- Handling Multiple Exceptions
- Handling Generic Exceptions
- Ignoring Exceptions
- Using else
- Cleaning Up with finally
- Re-raising Exceptions
- Raising a New Exception
- OS Services
- The os Module
- Environment Variables
- Launching External Commands
- Paths, Directories, and Filenames
- Walking Directory Trees
- Dates and Times
- Modules and Packages
- Initialization code
- Namespaces
- Executing modules as scripts
- Documentation
- Packages and name resolution
- Naming conventions
- Using imports
- Classes
- Defining Classes
- Constructors
- Instance methods and data
- Attributes
- Inheritance
- Multiple Inheritance
- Programmer Tools
- Program Development
- Comments
- pylint
- Customizing pylint
- Unit Testing
- The unittest Module
- Creating a Test Class
- Establishing Success or Failure
- Startup and Cleanup
- Running the Tests
- Debugging
- Benchmarking
- Profiling Applications
- Excel Spreadsheets
- openpyxl module
- Reading an Existing Spreadsheet
- Creating a Spreadsheet
- Modifying a Spreadsheet
- XML and JSON
- Creating XML Files
- Parsing XML
- Tags and XPath
- Reading and Wiritng JSON
- iPython and Jupyter
- About iPython and Jupyter
- iPython Basics
- Jupyter Basics
- NumPy
- Python's scientific Stack
- NumPy Overview
- Creating Arrays
- Creating Ranges
- Working with Arrays
- Shapes
- Slicing and Indexing
- Indexing with booleans
- Stacking
- Iterating
- Tricks with Arrays
- Matrices
- Data Types
- NumPy Functions
- SciPy
- About SciPy
- SciPy Packages
- SciPy Examples
- pandas
- About pandas
- Series
- DataFrames
- Reading and Writing Data
- Indexing and Slicing
- Merging and Joining Data Sets
- matplotlib
- Creating a plot
- Commonly Used Plots
- Customizing Styles
- Ad hoc data visualization
- Advanced Usage
- Saving Images
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Experience in the following would be useful for this Python class:
- While there are no programming prerequisites, programming experience is helpful. Students should be comfortable working with files and folders, and should not be afraid of the command line.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.