• 100 Queen St W, Brampton, ON L6X 1A4, Canada
  • +1-800-961-0337
START DATE END DATE CLASS TIMINGS MODE LOCATION ACTION
For more details, please call us on +1800-961-0337 or email us on info@microteklearning.com

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

What you will Learn:

  • 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

Who Should Attend:

Experienced Python programmers

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:

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 with a set of review questions to ensure that he/she fully grasps the topic.

  • Introduction to Python Programming
  • JumpStart Python Programming