Advanced Python Programming (TTPS4850)

Experienced Python programmers

Prerequisite
Please contact us for information about prerequisites.

Expected Duration
4 day

Description

In this course, you will learn advanced Python programming language.

Objective

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
  • Properties
  • Initializers
  • Class and static methods/data
  • Inheritance

6. Metaprogramming

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

7. Programmer tools

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

8. Distributing modules

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

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

10. GUI programming with PyQT4

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

11. Network programming

  • Sockets
  • Clients
  • Servers
  • Application protocols
  • Forking servers
  • Binary data
  • The struct 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

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

14. Extending Python

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

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

SUBSCRIPTION COST


$2,495.00

Select Course Options

 

NEED HELP OR NOT SURE?