EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Python Programming (Intermediate)

Course outline

5 days

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.