Python Programming

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

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.

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.
  • The course can be given in either using Python 2 or Python 3

Prerequisites

  • Basic programming background in a programming language such as C, Java, Javascript, Perl, PHP or Ruby, just to name a few.
  • 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

Scalar types and operators

  • Strings
  • Numbers
  • Split
  • String slices
  • Immputable strings

Collection types and operators

  • Lists
  • List slices
  • Tuples
  • Dictionaries (hashes)
  • Sets
  • Sorting
  • Queues
  • Stack
  • Collections
  • Iterables
  • Mutable and immutable

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
  • Split

The Python standard library

  • Filesystem related functions
  • Running external processes

Creating modules

  • Loading a module
  • Finding a module in a private directory
  • Changing 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

Let's talk

If you would like to bring this course to your organization, let's talk about it! You can reach me via email at gabor@szabgab.com or you can go ahead and schedule a chat:

Schedule a call