Duration
5 days
Overview
Initially Guido van Rossum's 1989 holiday project, Python has grown into an amazing computer language. It's a joy to learn and read, and powerful enough to handle everything from low-level system resources to advanced applications like deep learning. Elegantly simple and complete, it also boasts a massive ecosystem of libraries and frameworks. Python programmers are in high demand; you can't afford not to be fluent!
Course Prerequisite
Knowledge and experiences working with basic python programming is required.
Day 1
9:00am-10:30am
Part 1 – Modules and Packages
- Modules: The Big Picture
- Why Use Modules?
- Python Program Architecture
- How Imports Work
- The Module Search Path
10:30am-10:45am Morning break
10:45am-12:30pm
- Module Coding Basics
- Module Creation
- Module Usage
12:30pm-1:30pm Lunch
1:30pm-3:30pm
- Module Namespaces
- Reloading Modules
3:30pm-3:45pm Afternoon break
3:45pm-5:00pm
- Module Packages
- Package Import Basics
- Package Import Example
- Why Use Package Imports?
- Package Relative Imports
Day 2
9:00am-10:30am
- Advanced Module Topics
- Module Design Concepts
- Data Hiding in Modules
- Enabling Future Language Features
- Mixed Usage Modes
10:30am-10:45am Morning break
10:45am-12:30pm
- Changing the Module Search Path
- The as Extension for import and from
12:30pm-1:30pm Lunch
1:30pm-3:30pm
Part 2 – Classes and OOP
- OOP: The Big Picture
- Why Use Classes?
- Attribute Inheritance Search
- Classes and Instance
- Method Calls
- Coding Class Trees
- Operator Overloading
- OOP Is About Code Reuse
3:30pm-3:45pm Afternoon break
3:45pm-5:00pm
- Class Coding Basics
- Classes Generate Multiple Instance Objects
- Classes Are Customized by Inheritance
- Classes and Intercept Python Operators
Day 3
9:00am-10:30am
- Class Coding Details
- The class Statement
- Method
- Inheritance
10:30am-10:45am Morning break
10:45am-12:30pm
- Namespaces
- Classes vs Modules
12:30pm-1:30pm Lunch
1:30pm-3:30pm
- Operator Overloading
- The Basics
- Indexing and Slicing
- Index Iteration
- Iterable Objects
- Membership
- Attribute Access
- String Representation
- Right-Side and In-Place
- Call Expressions
- Comparisons
- Boolean Tests
- Object Destruction
3:30pm-3:45pm Afternoon break
3:45pm-5:00pm
- Designing with Classes
- Python and OOP
- Inheritance
- Composition
- Delegation
- Methods Are Objects
- Classes Are Objects
- Multiple Inheritance
Day 4
9:00am-10:30am
- Advanced Class Topics
- Extending Built-in Types
- The “New Style” Class Model
- New-Style Class Changes
- New-Style Class Extensions
10:30am-10:45am Morning break
10:45am-12:30pm
- Static and Class Methods
- Decorators and Metaclasses
- The super Built-in Functions
12:30pm-1:30pm Lunch
1:30pm-3:30pm
Part 3 – Exceptions and Tools
- Exception Basics
- Why Use Exceptions?
- Default Exception Handler
- Catching Exceptions
3:30pm-3:45pm Afternoon break
3:45pm-5:00pm
- Raising Exceptions
- User-Defined Exceptions
- Termination Actions
Day 5
9:00am-10:30am
- Exception Coding Details
- The try/except/else Statements
- The try/finally Statement
- Unified try/except/finally
10:30am-10:45am Morning break
10:45am-12:30pm
- The raise Statement
- The assert Statement
- with/as Context Managers
12:30pm-1:30pm Lunch
1:30pm-3:30pm
- Exception Objects
- Exceptions
- Why Exception Hierarchies?
- Built-in Exception Classes
- Custom Print Displays
- Custom Data and Behavior
3:30pm-3:45pm Afternoon break
3:45pm-5:00pm
- Designing with Exceptions
- Nesting Exception Handlers
- Exception Idioms
- Exception Design Tips and Tricks
- Core Language Summary
Programme scope, delivery arrangements and suitability are confirmed during enquiry.