Overview
Hands-on Advanced Python | With Pythonic Programming, OS Services, DB Access, GUI, Networking, XML/JSON & Much More
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.
Throughout the course, students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. This course is “skills-centric”, designed to train attendees in essential, advanced Python and web development skills, coupling the most current, effective techniques with the soundest coding practices.
Working within an engaging, hands-on learning environment, guided by our expert team, attendees will learn 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
Course Outline
Session: Python Refresher
- Data types
- Sequences
- Mapping types
- Program structure
- Files and console I/O
- Conditionals
- Loops
- Builtins
Session: OS Services
- The os module
- Environment variables
- Launching external commands
- Walking directory trees
- Paths, directories, and filenames
- Working with file systems
- Dates and times
Session: Pythonic Programming
- The Zen of Python
- Common idioms
- Lambda functions
- List comprehensions
- Generator expressions
- String formatting
Session: Modules and packages
- Initialization code
- Namespaces
- Executing modules as scripts
- Documentation
- Packages and name resolution
- Naming conventions
- Using imports
Session: Classes
- Defining classes
- Instance methods and data
- Properties
- Initializers
- Class and static methods/data
- Inheritance
Session: Metaprogramming
- Implicit properties
- globals() and locals()
- Working with attributes
- The inspect module
- Decorators
- Monkey patching
Session: Programmer tools
- Analyzing programs
- Using pylint
- Testing code
- Using unittest
- Debugging
- Profiling and benchmarking
Session: Distributing modules
- Distribution concepts
- setuptools
- creating setup.py
- building installers
- running installers
Session: 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
Session: GUI Programming with PyQT4
- About QT4
- Getting started with the designer
- Widget properties
- Predefined dialogs
- Generating the UI
- Wiring up events
- Advanced Topics
Session: Network Programming
- Sockets
- Clients
- Servers
- Application protocols
- Forking servers
- Binary data
- The struct module
Session: 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
This course is also available publicly via Live Virtual Classroom:
Get Course Information
(866) 543-0520
info@velocityknowledge.com