Advanced Python 3 Training On-Demand (PYT238)
Advance your Python skills with functional programming, regex, data handling, testing, debugging, object-oriented design, inheritance, and decorators.
Enroll in On-Demand Training
- On-demand access, 24/7
- Readings, videos, and exercises
- Quizzes to check your knowledge
- Lifetime access
Course Overview
Advanced Python 3 Training is designed for experienced Python developers who want to expand their skills beyond the fundamentals and work more effectively with Python’s advanced language features, data-handling capabilities, testing tools, and object-oriented programming techniques. The course explores lambda functions, advanced comprehensions, collections, mapping and filtering, sorting, sequence operations, modules and packages, regular expressions, and practical techniques for writing more flexible and expressive Python code.
Learners also gain hands-on experience working with SQLite databases, CSV files, web data, HTML, XML, and JSON, while developing stronger testing and debugging practices with performance measurement and the unittest framework. Through practical exercises, participants build and extend classes, work with properties and inheritance, use static and class methods, explore abstract classes, and understand decorators, preparing them to design, test, and maintain more sophisticated Python applications.
Course Benefits
- Apply advanced Python features such as lambda functions, comprehensions, mapping, filtering, sorting, and sequence unpacking.
- Use collections including defaultdict and Counter to organize, count, and process data efficiently.
- Create and apply regular expressions for validating, matching, and processing text.
- Work with relational data using SQLite, parameterized queries, in-memory databases, and imported file data.
- Read, search, create, and transform data stored in CSV, JSON, XML, and web-based formats.
- Practice retrieving and scraping web content for use in Python data-processing workflows.
- Analyze code performance and build automated tests with Python’s unittest framework.
- Develop robust object-oriented programs using classes, properties, inheritance, class methods, static methods, and abstract classes.
- Extend and document reusable classes while applying encapsulation and method-overriding techniques.
- Understand decorators and other advanced Python concepts used to build maintainable, extensible applications.
Course Outline
- Advanced Python Concepts
- Lambda Functions
- Advanced List Comprehensions
- Exercise: Rolling Five Dice
- Collections Module
- Exercise: Creating a defaultdict
- Counters
- Exercise: Creating a Counter
- Mapping and Filtering
- Mutable and Immutable Built-in Objects
- Sorting
- Exercise: Converting list.sort() to sorted(iterable)
- Sorting Sequences of Sequences
- Creating a Dictionary from Two Sequences
- Unpacking Sequences in Function Calls
- Exercise: Converting a String to a datetime.date Object
- Modules and Packages
- Regular Expressions
- Regular Expression Tester
- Regular Expression Syntax
- Python's Handling of Regular Expressions
- Exercise: Green Glass Door
- Working with Data
- Virtual Environment
- Relational Databases
- Passing Parameters
- SQLite
- Exercise: Querying a SQLite Database
- SQLite Database in Memory
- Exercise: Inserting File Data into a Database
- Drivers for Other Databases
- CSV
- Exercise: Finding Data in a CSV File
- Creating a New CSV File
- Exercise: Creating a CSV with DictWriter
- Getting Data from the Web
- Exercise: HTML Scraping
- XML
- JSON
- Exercise: JSON Home Runs
- Testing and Debugging
- Testing for Performance
- Exercise: Comparing Times to Execute
- The unittest Module
- Exercise: Fixing Functions
- Special unittest.TestCase Methods
- Classes and Objects
- Attributes
- Behaviors
- Classes vs. Objects
- Attributes and Methods
- Exercise: Adding a roll() Method to Die
- Private Attributes
- Properties
- Exercise: Properties
- Objects that Track their Own History
- Documenting Classes
- Exercise: Documenting the Die Class
- Inheritance
- Exercise: Extending the Die Class
- Extending a Class Method
- Exercise: Extending the roll() Method
- Static Methods
- Class Attributes and Methods
- Abstract Classes and Methods
- Understanding Decorators
Course Prerequisites
Required experience
- Basic Python programming experience. In particular, you should be very comfortable with:
- Working with strings.
- Working with lists, tuples and dictionaries.
- Loops and conditionals.
- Writing your own functions.
Useful experience
- Prior exposure to HTML, XML, JSON, and SQL is helpful but not required.
Prerequisite Courses
Follow-on On-Demand Courses
Have questions about this course?
We can help with curriculum details, delivery options, pricing, or anything else. Reach out and we’ll point you in the right direction.