In this Python training course, students already familiar with Python programming will learn advanced Python techniques.
This advanced Python course is taught using Python 3; however, differences between Python 2 and Python 3 are noted.
Class Prerequisites
Experience in the following is required for this Python class:
- 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.
Experience in the following would be useful for this Python class:
- Some exposure to HTML, XML, JSON, and SQL.
Course Outline
Classes and Objects
- Defining Classes
- The __init__ method
- Keyword Arguments
Methods
- Instance Methods
- Adding Arguments to Instance Methods
- The __str__ method
- Static Methods
- Class Methods
- Properties
- The Property Decorator
- The Setter Method
- Validation via the Setter Method
Inheritance
- The DRY Principle Revisited
- Single Inheritance
- Sub-Classing Classes from Python Packages
- Overriding Methods
- Calling the Parent Method with super()
- Multiple Inheritance
- Method Resolution Order
The Importance of the Standard Library
- High-Level Modules
- Lower-Level Modules
- Knowing How to Navigate in the Standard Library
- Dates and Times
- datetime Objects
Interacting with the OS
- OS Information
- Using pathlib
- Listing All Hidden Files in Your Home Directory
- Using the subprocess Module
Collections
- Counters
- defaultdict
- ChainMap
Becoming Pythonic
- Using List Comprehensions
- Set and Dictionary Comprehensions
- Comprehensions and Multiple Lists
- Default Dictionary
- Iterators
- Itertools
- One, and Back Again
- Generators
- Regular Expressions
Software Development
- Debugging
- Automated Testing
- Test Categorization
- Test Coverage
- Writing Tests in Python with Unit Testing
- Writing a Test with pytest