‹ Back To Training

Introduction to Python

Timeline: 3 Days

Topics

Expand All › ‹ Collapse All

  • What is Python?
  • Why use Python?
  • Comparing Python to other programming Languages
  • Downloading and installing Python
  • Configuring Python environment
  • Working with command line tools (CLI)
  • Core Python syntax
  • Syntax: code blocks, colons
  • Controls: if, elif, and else
  • Variables, scope, global
  • Loops (for, while, range operator)
  • Dynamic typing
  • Module support: import, reload, namespaces, etc
  • Reading/writing (stdin, stdout)
  • Function design (protocols, argument naming, default values, *arg, and **kwargs)
  • Sequence types: string, tuple, list, set
  • List comprehensions
  • Dictionaries
  • Scope issues
  • What is an exception?
  • Error types: index, name, type, syntax, value, etc
  • Exception handling concepts
  • try, except, else, finally
  • Creating custom exceptions
  • Command line parsing: optparse
  • Testing: unittest
  • System management: os, sys, subprocess
  • File I/O and file management: shutil, tempfile, glob
  • Profiling/Timing: timeit, profile
  • Debugging
  • Review module concept
  • Packages and modules
  • Building a module
  • Packaging a module for reuse
  • More on Strings, String interpolation, operations, etc
  • Using StringIO
  • Regular expression syntax and Module (re)
  • Search and replace
  • Named groups
  • Compiling regular expression patterns
  • Case studies: testing regular expressions and input file parsing
  • OO concepts supported by Python
  • Creating classes, properties, methods, attributes, etc
  • Metaclasses and class decorators
  • Applying encapsulation using method access, visibility, and conventions
  • What is a Decorator?
  • Logging calls to functions
  • Parametrically log calls to a function
  • Creating class decorators