Programming in Python Training Course

Public Classroom

Summary

Python Training Course

The Programming in Python course is designed to provide essential interactive program development skills using Python, including hands on labs to reinforce the lesson material. The course will introduce students to the Python programming language, Object Oriented software development principles and a sampling of the standard Python packages. On completion of the course we expect students to be able to develop powerful interactive GUI programs using SQLite for file-based persistence or memory-based storage of program data.

Duration

3 days

Course Objectives

By the completion of the Programming in Python training course you should be able to:

  • Understand the different modes of the Python execution environment
  • Create programs utilizing data primitives, variables and flow control structures
  • Utilize the Python complex data types: lists and dictionaries
  • Process input and output from the user and file system I/O operations
  • Use Python language built-in functions and write custom function blocks
  • Understand and create Object Oriented class definitions and programs
  • Utilize Python standard library packages for GUI programs and data management

Audience

This course is designed to be effective for beginners and intermediate level programmers. No prior experience is assumed and basic concepts will be covered in sufficient detail to create a complete understanding. Knowledge of other programming languages besides Python is not a prerequisite for this course, but any experience writing code or scripting will certainly help you to understand and apply the concepts presented.

Pre-requisites

This course assumes no previous experience with Python. Knowledge of another programming language and understanding fundamental concepts of Object Oriented Programming is a definite plus.

Outline

  • Preliminaries
    • Install Python on Windows.
    • Python on Mac
    • Text editors
  • Getting started on the command line
    • Using Python in calculator mode
    • Doing math with Python
    • Mathematical operators and precedence
    • Variables and references
    • Built-in functions
  • First program and the string data type
    • Creating strings
    • “Hello World” Python style
    • Operations on strings
    • Escape sequences
    • Formatted strings
  • Interactive program using input techniques
    • Reading standard input
    • Prompting the read operation
    • Importing library functionality
    • Reading arguments from the command line
    • Use comments to document your code
  • Branching control structure
    • Boolean data type
    • Comparison operators
    • The basic ‘if’ construct
    • Optional clauses ‘elif’ and ‘else’
  • List and tuple data types
    • Syntax for creating a list
    • Common list operations (pop, remove, replace, reverse, len, append)
    • List slicing mechanism
    • The range() built-in function
    • Aggregate string with join()
  • Looping control structures
    • Contextualize code in a ‘block’ structure
    • Processing lists with a ‘for’ loop
    • Generators
    • Indexed ‘for’ loops
    • Conditional looping with ‘while’
    • The ‘break’ and ‘continue’ statements
  • Writing custom functions
    • Function syntax
    • Input data
    • Docstrings
    • Variable scope
    • The return statement
  • Dictionaries – associative arrays
    • Hash tables have key / value pairs
    • Syntax for creating a dictionary
    • Adding elements
    • Dereferencing elements
    • Deleting elements
  • File operations
    • The open() built-in function
    • Read data from a file
    • Writing to file
    • Appending to file
    • Close a file
  • Exception handling
    • Exception type and it’s subtypes
    • The try block
    • The except block
    • The finally block
  • Object Oriented programming
    • Custom type definition -Class
    • Attributes and methods
    • Instantiation –Object
    • Inheritance and polymorphism
    • Encapsulation
  • Class definitions
    • Syntax for creating a class
    • Class constructor and the __init__ method
    • The __str__ built in method
    • Adding other methods to a class
  • More on classes
    • Parent classes and inheritance
    • Private attributes and methods
    • Class attributes and static methods
    • Properties, gettters and setters
  • Sampling python standard library modules
    • The os module
    • The random module
    • Desktop GUI with Tkinter
    • Sqlite database
    • The array module
    • The collections module
  • Appendix
    • Python package index
    • Pip