Python II: Applied Python

 

 

 

Python II: Applied Python Training Class Summary

This 4 day course leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting. This is a hands-on programming class. All concepts are reinforced by informal practice during the lecture followed by graduated lab exercises. Python Programming is a practical introduction to a working programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world.

Audience: Users who want to learn Python and use it for application development, system administration, or just to automate tasks in a simple, yet powerful way.

Prerequisites: Students should already have a working, user-level knowledge of Unix/Linux, Mac, or Windows. While not required, basic skills with at least one other programming language will be helpful.

Class Length: 4 days

Python II: Applied Python Training Class Objectives
  • Leverage OS Services
  • Code graphical interfaces for applications
  • Create modules
  • Create and run unit tests
  • Define classes
  • Interact with network services
  • Query databases
  • Process XML data
Python II: Applied Python Training Class Detailed Outline
  1. Python Refresher
    • Data Types
    • Sequences
    • Mapping types
    • Program Structure
    • Files and console I/O
    • Conditionals
    • Loops
    • Built-ins
  2. OS Services
    • The OS module
    • Environment Variables
    • Launching External Commands
    • Walking Directory Trees
    • Paths, directories, and filenames
    • Working with file systems
    • Dates and Times
  3. Pythonic Programming
    • The Zen of Python
    • Common Idioms
    • Lambda Functions
    • List Comprehensions
    • Generator Expressions
    • String Formatting
  4. Modules and Packages
    • Initialization Code
    • Namespaces
    • Executing modules as scripts
    • Documentation
    • Packages and Name Resolution
    • Naming Conventions
    • Using Imports
  5. Classes
    • Defining Classes
    • Instance Methods and Data
    • Initializers
    • Class Methods
    • Static Methods
    • Inheritance
    • Multiple Inheritance
    • Pseudo-private variables
  6. Metaprogramming
    • Implicit Properties
    • globals() and locals()
    • Attributes
    • The Inspect Module
    • Decorators
    • Monkey Patching
  7. Programmer Tools
    • Analyzing Programs
    • Using pylint
    • Testing Code
    • Using unittest
    • Debugging
    • Profiling
  8. Distributing Modules
    • setup.py
    • easy_install
    • Python eggs
  9. Database Access
    • The DB API
    • Available Interfaces
    • Connecting to a Server
    • Creating and Executing a Cursor
    • Fetching Data
    • Parameterized Statements
    • Metadata
    • Transaction Control
  10. GUI Programming
    • Overview
    • The mainwindow object
    • Widgets
    • Colors and Fonts
    • GUI Layout
    • Event Handling
  11. Network Programming
    • Sockets
    • Clients
    • Servers
    • Application Protocols
    • Forking Servers
    • Threaded Servers
    • Binary Data
    • The Struct Module
  12. Threads
    • Threads are different
    • Variables are Shared
    • Python Threads Modules
    • The Threading Module
    • The Queue Module
    • The Python Thread Manager
    • Debugging Threaded Programs
  13. System Administration
    • Typical SA Tasks
    • Working with Files and Folders
    • Launching External Processes
    • Remote Access
    • Permissions
    • Monitoring Processes
    • Network Information
  14. XML and JSON
    • Working with XML
    • DOM and Sax
    • ElementTree
    • Parsing XML
    • Creating a new XML document
    • Navigating
    • JSON
    • Parsing JSON into Python
    • Parsing Python into JSON
  15. Extending Python
    • About non-Python Modules
    • Overview of a C Extension
    • Creating Functions
    • Registering Functions
    • Initialization Code
    • Loading the Module