Specialized - Advanced Python Programming
Code: TTPS4850
Length: 4 days
URL: View Online
Geared for experienced Python programmers, Advanced Python Programming is a practical, hands-on Python training course
that thoroughly explores intermediate to advanced level topics and skills, teaching students how 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 and much more. This comprehensive, practical course provides an in-depth exploration of
working with the programming language, not an academic overview of syntax and grammar.
Skills Gained
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 Can Benefit
This course is appropriate for experienced Python programmers. Students should be able to write simple Python scripts, using
basic data types, program structures and the standard Python library.
Course Details
Python Refresher
Data types
Sequences
Mapping types
Program structure
Files and console I/O
Conditionals
Loops
Builtins
OS Services
The os module
Environment variables
Launching external commands
Walking directory trees
Paths, directories, and filenames
Working with file systems
Dates and times
Pythonic Programming
The Zen of Python
Common idioms
Lambda functions
List comprehensions
Generator expressions
String formatting
Modules and packages
Initialization code
Namespaces
Executing modules as scripts
Documentation
Packages and name resolution
Naming conventions
Using imports
Classes
Defining classes
Instance methods and data
Properties
Initializers
Class and static methods/data
Inheritance
Metaprogramming
Implicit properties
globals() and locals()
Working with attributes
The inspect module
Decorators
Monkey patching
Programmer tools
Analyzing programs
Using pylint
Testing code
Using unittest
Debugging
Profiling and benchmarking
Distributing modules
Distribution concepts
setuptools
creating setup.py
building installers
running installers
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
GUI Programming with PyQT4
About QT4
Getting started with the designer
Widget properties
Predefined dialogs
Generating the UI
Wiring up events
Advanced Topics
Network Programming
Sockets
Clients
Servers
Application protocols
Forking servers
Binary data
The struct module
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
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
Extending Python
About non-Python modules
Overview of a C extension
Writing C by hand
Loading modules with ctypes
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
ExitCertified® Corporation and iMVP® are registered trademarks of ExitCertified ULC and ExitCertified Generated 1
Corporation and Tech Data Corporation, respectively
Copyright ©2020 Tech Data Corporation and ExitCertified ULC & ExitCertified Corporation.
All Rights Reserved.