Course Overview
TOPThis comprehensive course explores advanced Python topics and skills with a particular focus on utilization of Python for enterprise development. You ll learn how to leverage OS services, code graphical application interfaces, interact with network series, query databases, and process XML and other data types. As part of a deep dive into the programming language, you ll gain an understanding of some of Python's lesser known but incredibly powerful functions such as meta-programming, decorators, context managers, generators, iterators, and descriptors. At the end of the course, you will be able to use Python to complete advanced tasks and write secure and scalable enterprise-grade code.
Scheduled Classes
TOP10/28/24 - GVT - Virtual Classroom - Virtual Instructor-Led | |
12/09/24 - GVT - Virtual Classroom - Virtual Instructor-Led | |
02/10/25 - GVT - Virtual Classroom - Virtual Instructor-Led | |
04/21/25 - GVT - Virtual Classroom - Virtual Instructor-Led | |
06/02/25 - GVT - Virtual Classroom - Virtual Instructor-Led |
Outline
TOPDay 1: Pythonic Python
- Pythonic Programming
- The Zen of Python
- Comments, docstrings, annotations
- String Handling
- List and Array optimization
- Tuple tricks
- Control structures in Python effective use of Lambda functions, List comprehensions
- Creating efficient dictionaries
- Advanced unpacking
- Essential conventions for Pythonic classes
- Clean Python code patterns
- Code quality enforcement tools Style and Logic guides
- Pythonic class conventions
- Effective handling of import
- Handling Decorators Classes, Functions, accepting arguments, Multi decorators, singleton
- Decorators and the DRY principle
- Context Manager
- Iterators
- Generators for performance improvement
- Coroutines yield from, async def, await
- Descriptors types, chains, accessing attributes, benefits
Day 2: Python System Scripting
- OS Services
- The os and os.path modules
- Environment variables
- Launching external commands with subprocess
- Walking directory trees
- Paths, directories, and filenames
- Working with file systems
- Network Programming
- Built-in classes
- Using requests
- Grabbing web pages
- Sending email
- Working with binary data
- Remote access (SSH)
- Using FTP
- Scripting for System Administration
- Running external programs
- Parsing arguments
- Creating filters to read text files
- Logging
Day 3: Python Data Processing
- Serializing data XML and JSON
- Working with XML
- XML modules in Python
- Getting started with ElementTree
- Parsing XML
- Updating an XML tree
- Creating a new document
- About JSON
- Reading JSON
- Writing JSON
- Translating JSON to Pythonic data
- Validating JSON data
- Reading/writing CSV files
- YAML, other formats as time permits
- Time Permitting Sessions
- Database access
- The DB API
- Available Interfaces
- Connecting to a server
- Creating and executing a cursor
- Fetching data
- Parameterized statements
- Using Metadata
- Transaction control
- ORMs and NoSQL overview
Day 4: Beyond Python
- Pythonic Architecture
- Python Design Patterns
- Architecture of Python applications
- Event driven programming architecture
- Microservices architecture
- Scaling Python applications
- Differentiate the features of event-based, microservice, and API architectures.
- Application security guidelines
- PyQt
- Overview
- Qt Architecture
- Using designer
- Standard widgets
- Event handling
- Creating a simple application
- Type hinting
- Annotate variables
- Learn what type hinting does NOT do
- Use the typing module for detailed type hints
- Understand union and optional types
- Write stub interfaces
- Writing real-life applications
- Reading input files in Unix
- Parsing command-line options
- Detecting the current platform
- Implementing logging
- Creating a calculator application in PyQt
- Perform CRUD operations by connecting to DB
Prerequisites
TOPStudents should have experience writing Python scripts, as well as a user-level knowledge of Unix/Linux, Mac, or Windows.
Who Should Attend
TOPThis in an intermediate and beyond level course designed for students who have experience writing Python scripts and who want to master design and architecture best practices and write enterprise-grade code.