This course is available for customized on-site delivery for groups of 3 or more students. Contact us today at 877-258-8987 for more information or a quote.
Scroll down the page for a list of upcoming course dates in our public calendar.
Advanced Python Programming (5 days)
Our Advanced Python Training teaches experienced Python developers how to leverage advanced features of Python to improve performance, stability, while also covering a broad range of commonly used tools and techniques.
Students attending this course should have attended our Python Bootcamp course, or have equivalent experience.
This Advanced Python training course covers the following topics:
- Object Oriented Python
- About OOP
- The Class Statements
- Class Inheritance
- Classes as Objects
- Using Dictionaries
- Understanding self
- Overriding Inherited Methods
- More Inheritance
- Operator Overloading (“magic” functions)
- The __iter__ Method
- The __getitem__ Method
- Empty Classes For Storage
- Pickling & Shelving Objects
- Exercises
- Multiple Inheritance
- Exceptions
- About Exceptions
- Python's Default Exception Handler
- Using Try/Except/Finally Exceptions
- Generating User Defined Exceptions
- More on Exceptions
- Exception Examples
- Using Asserts
- Exception Classes
- Python Generators
- About Generators
- Generator Syntax
- Communicating with Generators with send()
- Exercises
- Python Decorators
- About Decorators
- Simple Function Decorators
- Classes as Decorators
- Chained Decorators
- Decorator Arguments
- Exercises
- Python Regular Expressions
- About Regular Expressions
- re Basics
- Expression Basics
- Using match() and search()
- Working with Match Objects
- Other re Module Functions
- Passing in Modifier Flags
- Exercises
- Sockets & Networking
- Socket Basics
- The Socket Module
- Creating Network Servers
- Exercises
- Python Protocol Clients
- Protocol Support
- Exercises
- Generating & Sending Email
- The email Module
- Creating Simple Emails
- Creating a Message
- Creating SMTP Connections
- SMTP Methods
- Exercises
- Processes and Threads
- Running Shell Commands
- Popen Objects
- Using Parallel Processing
- Using Python's os.fork() Function
- Using os.exec*() Variants
- Exercises
- Python Threads
- The threading Module
- Thread Objects
- Custom Thread Objects
- Working with Locks
- Using Reentrant Locks
- Condition Objects
- Exercises
- Using the Queue Object
- Using Semaphores
- Using with for Locks, RLocks, Condition & Sempahores
- Event Objects
- Timer Objects
- Processing Exit Codes
- Exercises
- The multiprocessing Module
- Using multiprocessing
- Exchanging Objects
- Using Pipes
- Synchronization
- Using multiprocess Managers
- Signal Handling
- The Signal Module
- Defining Signal Handlers
- Signal Numbers
- Common Signal Module Functions
- Using set_wakeup_fd()
- Using Timers
- Other Signal Notes
- Exercises
- Introduction to Twisted
- About Twisted
- Installing Twisted
- Twisted Basics
- The Twisted Reactor
- Understanding Deferred Objects
- Creating Deferred Objects
- Stacking Callbacks
- Stacking Deferred
- What about concurrency?
- Networking with Twisted
- Networking Basics
- Creating a ClientFactory
- Twisted Failures
- Protocol Objects
- Creating Network Clients
- Creating SSL Clients
- SSL Context
- Twisted Helpers
- Twisted Protocol Support
- Using Twisted SMTP Protocol Support
- Twisted.mail.SMTP.sendmail() Explained
- Mail Exchange Lookups with MXCalculator
- Using the ESMTPSenderFactory
- More Factories
- Providing Services with Twisted
- Creating Listeners
- Server Example
- Using the Twist Daemonizer (twistd)
- Creating tac Files
- Managing Services with twistd
- Logging with twistd
- Unit Testing with unittest (PyUnit)
- About unittest (PyUnit)
- The TestCase Class
- TestCase Methods
- Checking & Reporting Failures
- Setting up Simple Tests
- Compiling Test Suites
- Working with TestResult Objects
- Using TestLoader Objects
- Exercises
- Globbing
- XML Processing
- About XML
- The ElementTree XML API
- The Element Class
- Using Elements
- Creating New Elements
- Xpath Style Queries
- Creating & Saving XML Files
This class is limited to a maximum of 12 students.
On-Site Delivery
This course is available for on-site delivery for groups of 3 or more students. OTG offers discounted training for on-site courses of more than 3 students - call us at 877-258-8987 (or submit the form on the upper right side of this page) for more information.
After attending this Python training course, students will be able to perform the following tasks:
- Design, develop, and implement powerful unit testing within their Python applications.
-
- Understand and leverage Object Oriented programming techniques in their Python applications.
-
- Alter or augment the operation of existing or inherited Python code using decorators
-
- Apply powerful regular expression matching and manipulation techniques.
- Utilize sockets & networking, including Python provided protocol clients
- Generate and send complex email with multiple MIME parts and attachments
- Leverage and understand Pythons threading and multiprocessing module, including locks, conditions, re-entrant locks, and a host of other related topics.
- Develop Python applications that react to signals.
- Understand, develop, and deploy cooperative multitasking, event-driven services with Twisted
- Parse, process, manipulate, generate, and query XML documents
The following materials are used to deliver this course:
- Programming Python (O'Reilly & Associates)
- OTG Course Guide
Enroll in this course
|