Advanced Python Programming (APP)

Course Description Schedule Course Outline
 

Course Content

Advanced Python Programming (APP) is a 4 day instructor led course with hands-on labs that provides an in‐depth exploration of working with advanced python andcomprehensive machine‐based practical programming labs and project work.

Who should attend

Experienced Python programmers, focused on Enterprise Development

Prerequisites

You should have practical skills in Python programming or have attended training in one of the following:

Course Objectives

At the end of this course, you will be able to:

  • 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

Outline: Advanced Python Programming (APP)

Module 1: Python Refresher

  • Data types
  • Sequences
  • Mapping types
  • Program structure
  • Files and console I/O
  • Conditionals
  • Loops
  • Builtins

Module 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

Module 3: Pythonic Programming

  • The Zen of Python
  • Common idioms
  • Lambda functions
  • List comprehensions
  • Generator expressions
  • String formatting

Module 4: Modules and packages

  • Initialization code
  • Namespaces
  • Executing modules as scripts
  • Documentation
  • Packages and name resolution
  • Naming conventions
  • Using imports

Module 5: Classes

  • Defining classes
  • Instance methods and data
  • Properties
  • Initializers
  • Class and static methods/data
  • Inheritance

Module 6: Metaprogramming

  • Implicit properties
  • Globals() and locals()
  • Working with attributes
  • The inspect module
  • Decorators
  • Monkey patching

Module 7: Programmer tools

  • Analyzing programs
  • Using pylint
  • Testing code
  • Using unittest
  • Debugging
  • Profiling and benchmarking

Module 8: Distributing modules

  • Distribution concepts
  • Setuptools
  • Creating setup.py
  • Building installers
  • Running installers

Module 9: Database access

  • The DB API
  • Available Interfaces
  • Connecting to a server
  • Creating and executing a cursor
  • Fetching data
  • Parameterized statements
  • Metadata
  • Transaction control
  • Other DBMS modules

Module 10: GUI Programming with PyQT4

  • About QT4
  • Getting started with the designer
  • Widget properties
  • Predefined dialogs
  • Generating the UI
  • Wiring up events
  • Advanced Topics

Module 11: Network Programming

  • Sockets
  • Clients
  • Servers
  • Application protocols
  • Forking servers
  • Binary data
  • The struct module

Module 12: Threads

  • When to use threads?
  • The Global Interpreter Lock
  • The threading module
  • Simple threading
  • Sharing variables
  • Threaded servers
  • The queue module
  • Debugging threaded programs
  • Alternatives to threading

Module 13: XML and JSON

  • Working with XML
  • DOM and Sax
  • Introducing ElementTree and lxml
  • Parsing XML
  • Navigating the document
  • Creating a new XML document
  • JSON
  • Parsing JSON into Python
  • Converting Python into JSON

Module 14: Extending Python

  • About non-Python modules
  • Overview of a C extension
  • Writing C by hand
  • Loading modules with ctypes

Module 15: Subprocesses

  • Running external commands with subprocess
  • Getting command status
  • Managing STDOUT, STDERR, and STDIN
  • The sh module (non-Windows systems only)
  • Creating a simple command
  • Keyword arguments
  • Running commands in the background
  • Piping and redirection
  • Working with STDIO
  • Exit codes
  • Advanced features
Classroom Training
Modality: G

Duration 4 days

Price
  • United States: US$ 2,495
Enroll now
Online Training
Modality: U

Duration 4 days

Price
  • United States: US$ 2,495
Enroll now
 
Schedule

Currently there are no training dates scheduled for this course.  Request a date