Virtual ClassroomLearning Style
4 DaysCourse Duration
About Individual Course:
Expand upon your fundamental Python programming skills to build reliable and stable applications. In this training course, you learn to implement Gang of Four (GoF) design patterns in order to solve commonly recurring, real-world software design programs, thereby avoiding pitfalls and greatly improving the effectiveness of your programming efforts.
- Employ design patterns and best practices in Python applications
- Unit test, debug, and install Python programs and modules
- Profile program execution and improve performance
- Apply advanced Python programming features for efficient, reliable, maintainable programs
- Working knowledge of Python programming to the level of:
- Course 1905, Python Programming Introduction, or at least three to six months of Python programming experience
- Concepts taught are applicable to all Linux distributions
Virtual Instructed-Led Outline
Object-Oriented Programming in Python
- Extending classes to define subclasses
- Inheriting from multiple superclasses and mix-in classes
- Adding properties to a class
- Defining abstract base classes
Exploring Python Features
Writing "Pythonic" code
- Customizing iteration and indexing with "magic" methods
- Modifying code dynamically with monkey patching
- Raising user-defined exceptions
- Reducing code complexity with context managers and the "with" statement
Verifying Code and Unit Testing
Testing best practices
- Developing and running Python unit tests
- Simplifying automated testing with the Nose package
Verifying code behavior
- Mocking dependent objects with the Mock package
- Asserting correct code behavior with MagicMock
Detecting Errors and Debugging Techniques
- Logging messages for auditing and debugging
- Checking your code for potential bugs with Pylint
Debugging Python code
- Extracting error information from exceptions
- Tracing program execution with the PyCharm IDE
Implementing Python Design Patterns
- Implementing the Decorator pattern using @decorator
- Controlling access to an object with the Proxy pattern
- Utilizing the Iterator pattern with Python generators
- Laying out a skeleton algorithm in the Template Method pattern
- Enabling loose coupling between classes with the Observer pattern
Interfacing with REST Web Services and Clients
Python REST web services
- Building a REST service
- Generating JSON responses to support Ajax clients
Python REST clients
- Sending REST requests from a Python client
- Consuming JSON and XML response data
Measuring and Improving Application Performance
Measuring Application Execution
- Timing execution of functions with the "timeit" module
- Profiling program execution using "cProfile"
- Manipulating an execution profile interactively with "pstats"
Employing Python language features for performance
- Efficiently applying data structures, including lists, dictionaries and tuples
- Mapping and filtering data sets using comprehensions
- Replacing the standard Python interpreter with PyPy
Installing and Distributing Modules
Managing module versions
- Installing modules from the PyPi repository using "pip"
- Porting code between Python versions
Packaging Python modules and applications
- Establishing isolated Python environments with "virtualenv"
- Building a distribution package with "setuptools"
- Uploading your Python modules to a local repository
- Creating and managing multiple threads of control with the Thread class
- Synchronizing threads using locks
- Launching operating system commands as subprocesses
- Synchronizing processes with queues
- Parallelizing execution using process pools and Executors
|Learning Style||Virtual Classroom|
|Course Duration||4 Days|
Frequently Asked Questions About Virtual Instructor-Led Courses
I can't connect to my class, what are my options?
The link to the class is available upon logging in to your dashboard. If you are unable to see it, please contact our support team at 1-855-800-8240 and they will be happy to provide you the direct link via email or the dial in number.
I can't make it to attend to class. Can I reschedule?
Yes, you can reschedule your class. Please contact your Sales representative and they will arrange this for you. If you forgot his/her name, feel free to contact our support team at firstname.lastname@example.org or 1-855-800-8240.
Will I get my certificate upon completion?
Yes. Upon completion of the course, it will be available on your course as a Trophy Icon for you to download. If you do not see this, you will need to contact email@example.com with the following details so they can email you the certificate: Class Name, Class Date, Account Rep, and Your Email.
I cannot connect to my lab. Help!
Your Lab is accessible on the bottom part of your course. You will see a button that says "LAB". Just click it to launch the lab. Please note that some classes don’t need/require a LAB. You can verify with our support team by calling them at 1-855-800-8240 or by email at firstname.lastname@example.org. You can also check with your Instructor or the Associate Instructor if your class includes one.
What is my access code for Skillpipe?
A. Not all of the classes have or require Skillpipe. If your class includes one, please check your email as you should have received one from email@example.com. In case you do not find it in your inbox, please check the Spam / Junk folder. For any further assistance, you can call the support at 1-855-800-8240 or contact them via email at firstname.lastname@example.org.
I don't have audio. I can't hear the instructor.
Make sure you are using a compatible headset for your laptop or computer. If you don’t have a headset, you can use the built-in speaker of your laptop. Otherwise, you can use the dial in option by calling the dial in number provided in the class joining email. You may also contact support team for the dial in numbers associated for your training at 1-855-800-8240 or contact them via email at email@example.com.
How can I reach student support?
Support can be reach via phone at 1855-800-8240; via email at firstname.lastname@example.org or via chat support through the chat button on our website. Please note that support office hours will be from 8am-5pm CST Monday to Friday. Any concerns after office hours will be attended the following business day.
Have Questions? Ask Us.
Turn Training Into A Personalized Learning Experience
- Problem Solving through ExpertConnect & Peer-To-Peer Learning
- Find The Quickest Path To Learn With Career Paths
- Access All Courses With Master Subscription
- Manage Your Team With Learning Analytics
- Virtual Classroom Training & Self-Paced Learning
- Integrate With Your LMS Through API's