Intermediate Python

Advance your Python skills with our Intermediate Python course designed for enterprise developers and administrators, focusing on automation and server support through hands-on programming.

Course Thumbnail

Essential Skills Gained

Checkmark

Enhance Python scripting capabilities for real-world applications.

Checkmark

Utilize advanced programming structures and modules.

Checkmark

Implement Python in enterprise-level systems and applications.

Checkmark

Develop efficient and maintainable Python code for complex scenarios.

Format

  • Instructor-led
  • 4 days with lectures and hands-on labs.

Audience

  • Advanced users
  • System administrators
  • Website administrators
  • IT professionals

Description

This 4-day course picks up where Introduction to Python leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development. This is a hands-on programming class, all concepts are reinforced by informal practice during the lecture followed by lab exercises. Many labs build on earlier labs, which helps students retain the earlier material.

Calendar icon

Upcoming Course Dates

No upcoming dates. Please check back later.

Course Outline

Download PDF

Python Refresher

  1. Variables

  2. Basic Python Data Types

  3. Sequences

  4. Mapping Types

  5. Program Structure

  6. Files And Console I/O

  7. Conditionals

  8. Loops

  9. Builtins

OS Services

  1. The OS Module

  2. Paths, Directories, and Filenames

  3. Environment Variables

  4. Launching External Programs

  5. Walking Directory Trees

  6. The Datetime Module

  7. The Calendar Module

Pythonic Programming

  1. The Zen of Python

  2. Common Python Idioms

  3. Unpacking Function Arguments

  4. Lambda Functions

  5. List Comprehensions

  6. Iterables

  7. Writing Generators

  8. Intermediate

  9. Python 3.x

  10. String Tricks

  11. String Formatting

Modules

  1. Using Import

  2. Module Search Path

  3. Namespaces

  4. Executing Modules as Scripts

  5. Packages

  6. Confguring Import With Init.Py

  7. Name Resolution (AKA Scope)

  8. Python Style

Classes

  1. Defining Classes

  2. Instance Objects

  3. Instance Attributes

  4. Instance Methods

  5. Init

  6. Properties

  7. Class Data

  8. Class Methods

  9. Inheritance

  10. Multiple Inheritance

  11. Using Super ()

  12. Special Methods

  13. Class-Private Variables

  14. Static Methods

Metaprogramming

  1. Globals() and Locals()

  2. Working with Attributes

  3. The Inspect Module

  4. Decorator Functions

  5. Decorator Classes

  6. Decorator Parameters

  7. Creating Classes At Runtime

  8. Monkey Patching

Developer Tools

  1. Program Development

  2. Comments

  3. Pylint

  4. Customizing Pylint

  5. Using Pyreverse

  6. The Unittest Module

  7. Fixtures

  8. Skipping Tests

  9. Making a Suite of Tests

  10. Automated Test Discovery

  11. Using Nose

  12. The Python Debugger

  13. Starting Debug Mode

  14. Stepping Through a Program

  15. Setting Breakpoints

  16. Profiling

  17. Benchmarking

Database Access

  1. The DB API

  2. Available Interfaces

  3. Connecting to a server

  4. connect() examples

  5. Creating a cursor

  6. Executing a statement

  7. Parameterized statements

  8. Dictionary cursors

  9. Metadata

  10. Transactions

  11. Object-relational mappers

PyQt4

  1. Event Driven Applications

  2. Gui Application Flow Chart

  3. External Anatomy of a Pyqt4 Application

  4. Internal Anatomy of a Pyqt4 Application

  5. Using Designer

  6. Anatomy of a Designer-Based Application

  7. Naming Conventions

  8. Common Widgets

  9. Layouts

  10. Selectable Buttons

  11. Actions and Events

  12. Menu Bar

  13. Status Bar

  14. Using Predefined Dialogs

  15. Creating Custom Dialogs

  16. Tabs

  17. Niceties

  18. Working with Images

  19. Complete Example

Network Programming

  1. Sockets

  2. Socket Options

  3. Client Concepts

  4. Server Concepts

  5. Application Protocols

  6. Forking Servers

  7. Grabbing Html from The Web

  8. Consuming Web Services

  9. Web Data the Easier Way

  10. Sending Email

  11. Binary Data

  12. The Struct Module

Multiprogramming

  1. What Are Threads?

  2. The Python Thread Manager

  3. The Threading Module

  4. Threads for the Impatient

  5. Creating a Thread Class

  6. Variables Sharing

  7. Using Queues

  8. Debugging Threaded Programs

  9. The Multiprocessing Module

  10. Alternatives to Multiprogramming

System Administration and Scripting

  1. The Subprocess Module

  2. Subprocess Convenience Functions

  3. Using the Sh Module

  4. Permissions

  5. Saving Information

  6. Creating a Useful Command Line Script

  7. Creating Filters

  8. Parsing the Command Line

  9. Simple Logging

  10. Logging Levels

  11. Formatting Log Entries

  12. Logging to Other Destinations

XML and JSON

  1. About Xml

  2. Normal Approaches to Xml

  3. Which Module to Use?

  4. Getting Started With ElementTree

  5. How ElementTree Works

  6. Creating a New Xml Document

  7. Parsing an Xml Document

  8. Navigating the Xml Document

  9. Using XPath

  10. Advanced XPath

  11. About JSON

  12. Reading JSON

  13. Writing JSON

Extending Python with C

  1. Why Extend Python?

  2. Ways to Extend Python With C

  3. Hand-Coded C

  4. Overview

  5. The C Program

  6. Methods

  7. The Method Table

  8. The Init Function

  9. Handling Errors

  10. Custom Exception Objects

  11. Putting It All Together

  12. Using SWIG

  13. The Interface File

  14. Generating the Wrappers

  15. Building and Installing The Extension

  16. Ctypes

Your Team has Unique Training Needs.

Your team deserves training as unique as they are.

Let us tailor the course to your needs at no extra cost.