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
-
- Python Refresher
- Data Types
- Sequences
- Mapping types
- Program Structure
- Files and console I/O
- Conditionals
- Loops
- Built-ins
- OS Services
- The OS module
- Environment Variables
- Launching External Commands
- Walking Directory Trees
- Paths, directories, and filenames
- Working with file systems
- Dates and Times
- Pythonic Programming
- The Zen of Python
- Common Idioms
- Lambda Functions
- List Comprehensions
- Generator Expressions
- String Formatting
- Modules and Packages
- Initialization Code
- Namespaces
- Executing modules as scripts
- Documentation
- Packages and Name Resolution
- Naming Conventions
- Using Imports
- Classes
- Defining Classes
- Instance Methods and Data
- Initializers
- Class Methods
- Static Methods
- Inheritance
- Multiple Inheritance
- Pseudo-private variables
- Metaprogramming
- Implicit Properties
- globals() and locals()
- Attributes
- The Inspect Module
- Decorators
- Monkey Patching
- Programmer Tools
- Analyzing Programs
- Using pylint
- Testing Code
- Using unittest
- Debugging
- Profiling
- Distributing Modules
- setup.py
- easy_install
- Python eggs
- Database Access
- The DB API
- Available Interfaces
- Connecting to a Server
- Creating and Executing a Cursor
- Fetching Data
- Parameterized Statements
- Metadata
- Transaction Control
- GUI Programming
- Overview
- The mainwindow object
- Widgets
- Colors and Fonts
- GUI Layout
- Event Handling
- Network Programming
- Sockets
- Clients
- Servers
- Application Protocols
- Forking Servers
- Threaded Servers
- Binary Data
- The Struct Module
- Threads
- Threads are different
- Variables are Shared
- Python Threads Modules
- The Threading Module
- The Queue Module
- The Python Thread Manager
- Debugging Threaded Programs
- System Administration
- Typical SA Tasks
- Working with Files and Folders
- Launching External Processes
- Remote Access
- Permissions
- Monitoring Processes
- Network Information
- 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
- Extending Python
- About non-Python Modules
- Overview of a C Extension
- Creating Functions
- Registering Functions
- Initialization Code
- Loading the Module
- Python Refresher



