Live Chat
Monday - Friday 8am - 6pm EST Chat Now
Contact Us
Monday - Friday 8am - 8pm EST 1-866-716-6688 Other Contact Options
Checkout

Cart () Loading...

    • Quantity:
    • Delivery:
    • Dates:
    • Location:

    $

Advanced Python Programming (TTPS4850)

Learn about GUIs, modules, unit tests, classes, network services, querying databases, process XML and more.

GK# 4264 Vendor# TTPS4850

Course Overview

TOP

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

What You'll Learn

TOP
  • 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

TOP
Viewing outline for:

Virtual Classroom Live 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
  • 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

Labs

TOP
Viewing labs for:

Virtual Classroom Live Labs

This course is about 50% hands-on lab and 50% lecture, with extensive programming exercises designed to reinforce advanced Python programming skills, concepts and best practices learned in the lessons. Students will write numerous Python scripts to reinforce the major concepts covered in this course. The courses will increase in complexity as more sophisticated techniques are introduced. At the end of each lesson, students will be tested witha set of review questions to ensure that he/she fully grasps the topic. Our courses include ample materials and labs to ensure all students are either appropriately challenged, or assisted, at all times-no matter their skill level.

Prerequisites

TOP

Who Should Attend

TOP

Experienced Python programmers

Course Delivery

This course is available in the following formats:

Virtual Classroom Live

Experience expert-led online training from the convenience of your home, office or anywhere with an internet connection.

Duration: 4 day

Request this course in a different delivery format.
Enroll