Python Programming Course

Audience

  • This is a beginner course suitable for anyone wanting to use Python for developing applications, writing test for QA or using it for system administration.

Objectives

  • To be able to write programs in Python.
  • To master the rich set of Python libraries and modules.
  • Understand procedural control flow in Python
  • Use Object Oriented programming techniques

Course Format

  • Duration of the course is 24-32 academic hours. (Usually 3-4 days).
  • The course includes approximately 40% hands on lab work.
  • In the 4 day long version we allocate more time for exercises and have more time for individual help.

Prerequisites

  • Basic programming background in either a high-level language such as C, Java or a scripting language such as Shell, VBSscript, Javascript, Perl, PHP or Ruby
  • Experience with a text editor like emacs, vi, pico or notepad.
  • Understanding of files and directories.

Syllabus

  • Introduction to Python
    • Installing Python
    • Where and why to use Python
    • Using the Python interactive interpreter
    • Documentation and how to get help?
    • Indentation
  • Types and operators
    • Strings
    • Numbers
    • Lists (arrays)
    • Tuples
    • Dictionaries (hashes)
    • Sorting
  • Functions subroutines
    • Function parameters
    • Positional parameters
    • Named parameters
    • Default values
    • Optional parameters
    • Return values
    • Function documentation
    • Lambda functions
  • Control flow
    • For loops
    • While loops
    • Loop controls
    • Conditionals
    • Chained comparison
    • Enumerate
    • Boolean and logical operators
  • IO
    • print
    • print formatting
    • read/write files
  • Regular expression (pattern matching)
    • Matching all
    • Searching for a single match
    • Meta characters
    • Character classes
    • Special character classes
    • Quantifiers
    • Alternatives
    • Modifier flags
    • Anchors
    • Back-references
    • Substitution
  • The Python standard library
    • Filesystem related functions
    • Running external processes
  • Creating modules
    • Loading a module
    • Finding a module in a private directory
    • Chaning the search path to a relative directory
    • Importing selected functions
    • Namespaces
    • Creating executable module
  • Exception handling
    • Creating non-fatal warnings
    • Catching exceptions
    • Handling exceptions
    • Throwing a new exception
    • The final block
    • Creating your own exception
  • Object Oriented Programming
    • Defining classes
    • Initializing objects
    • Methods
    • Attributes or members
    • The self
    • Inheritance
  • Additional uses
    • Installing and using 3rd party modules
    • Writing simple web scraping program
    • Writing simple Web application
    • Accessing SQL databases
    • Reading and writing Excel files