Choose your language:

Hong Kong
New Zealand
United Kingdom
United States

Intensive Introduction to Python

Course Code



4 Days

The course assumes that participants have prior experience with another programming language such as C++ or Java but assumes no prior knowledge of Python. In addition, students should be familiar with:
  • basic concepts of programming such as variables, data types, statements, control-flow, functions, arrays, data structures, and common programming problems
  • Concepts required for searching and sorting data structures
  • Working with files, file systems, folders, editors, command shells, operating system environment settings, internet connections, and other essential operating system features
  • The use of an IDE tool such as Eclipse or other similar editing environment
  • XML basic concepts, regular expressions (what they are, how they are used)
  • Internet architectures (such as restful applications) and web applications
  • Networking essentials: protocols (IP, TCP, UDP) as well as knowledge of socket programming concepts
In this 4-day course, participants establish a solid foundation in core Python programming language fundamentals using Python 3. Exercises cover common tasks in:
  • data acquisition (via raw input from users, from files, from urls, and from sockets)
  • data parsing (including English text, HTML, column-oriented text, CSV and delimited files, JSON, and XML)
  • data analysis (using list comprehensions, generators, sets, dictionaries, and named tuples)
  • data formatting (using templating to create HTML and other output formats)
Participants can expect to learn Python norms, idioms, and programming practices developing a clear mental model of the language (including magic methods, the object model, memory management, mutability, performance and scaling, etc). Participants will develop an expressive style that realizes the full advantages of the language becoming proficient at utilizing patterns of problem solving.

Topics include program organization, principles of object-oriented programming, testing, and debugging. There is special chapter on using REST APIs as time permits. Socket programming includes processing HTTP headers and the use of RESTful APIs and networked applications. Examples include a TCP client and server.

This course is designed for sales engineers, security specialists, developers, quality assurance engineers, and anyone needing to use a powerful and clean scripting language.
Upon completion of this course, participants will be able to:
  • Develop Python solutions to interesting problems
  • Establish a clear mental model of language to prepare the learners to easily grapple with Python based applications such as Django or OpenStack
Day 1
Python Overview
Business Level Overview
Language Philosophy
Python Implementations and Versions
Establishing the Python Environment
Exercise: Running Scripts
Whitespace, Indentation and program formatting
Variables and Naming Conventions
Python Data Types
Coding Style Guides
Strings and Encoding Formats
String Methods
Introducing Sequences
Control Structures
Truthy/Falsey Values
Exercise: Working with Strings
Exercise: Building a GREP Utility
Copying and Sorting Lists
Advanced Iterating Techniques
Exercise: Sorting and Data Structures
List Comprehensions
Exercise: List Comprehensions
Creating Named Tuples
Exercise: Dictionaries

Day 2
Files and Flow Control

Exception Handling
Working with Files
Using 'with'
Exercise: Files and Exceptions
Print Formatting
Pip and 3rd Party Tools
Templating and Jinja2
Exercise: Templating and HTML

Functions I
Default and Multiple Positional/Keyword Arguments
Introducing Modules
Rules for Creating Modules
Exercise: Intermediate Functions and Modules
Variable Scope
Argument Passing

Day 3
Object-Oriented Python

Creating Objects
Using self 
Magic Methods
Exercise: Creating Classes
Inheritance Basics
Class and Static Methods

Modules of the Python Standard Library
sys, os, os.path
time, datetime
csv, configparser
Docstrings and Comments
Exercise: Creating a doctest Utility

Day 4
Network Programming

Creating TCP clients and servers using Sockets
Mid-level Networking Modules: ftplib, http.client, http.parer
urllib Modules
Using the requests Module
Processing JSON Data
ipaddress Module
Exercise: Parsing JSON data and screen scraping

Search and Regular Expressions
Using the re Module
Matching Flags
String Replacement and Modification
Exercise: Working with Regexes

Working with XML
Parsing XML with ElementTree
Creating XML with ElementTree
Pretty Printing
XML Exception Handling
Exercise: Using ElementTree

Send Us a Message
Choose one