Please click here to chat with a certified trainer
Python courses logo

 

 

Python courses

 


 

 

  • Introduction to Python
  • Python Intermediate
  • Python Advanced

Sorry, we currently do not have any public courses scheduled for the Python level 1 course. Please contact us to see if we can put one on the schedule for you

Sorry, we currently do not have any public courses scheduled for the Python level 1 course. Please contact us to see if we can put one on the schedule for you

Introduction to Python

Course Description

Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse.


This four day course leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting.


This is a hands-on programming course. All concepts are reinforced by informal practice during the session followed by graduated lab exercises. Python Programming is a practical introduction to a working programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world.


Who Should Attend

Users who want to learn Python and use it for application development, system administration, or just to automate tasks in a simple, yet powerful way.


Pre-Requisites

  • Working level knowledge of an operating system such as Linux, Windows, or MacOS.
  • Basic skill with at least one other programming language is desirable.
  • Introduction to Python

    Download PDF

    Course Outline

    Module 1: About this Course

  • Welcome
  •  

    Module 2: An Overview of Python

  • What is Python?
  • The Birth of Python
  • Python Timeline
  • About Interpreted Languages
  • Advantages of Python
  • Disadvantages of Python
  • How to Get Python
  • The end of 2.x
  • Getting Help
  • Pydoc
  • Using Pydoc

     

    Module 3: The Python Environment

  • Starting Python
  • If the Interpreter is Not in Your PATHs
  • Using the Interpreter
  • Trying Out a Few Commands
  • The help() Command
  • Running a Python Script
  • Python Scripts on Unix
  • Python Scripts on Windows
  • Python Editors and IDEs

     

    Module 4: Getting Started

  • Using Variables
  • Keywords
  • Built-in Functions
  • Variable Typing
  • Strings
  • Single-delimited String Literals
  • Triple-delimited String Literals
  • Raw String Literals
  • Unicode Characters
  • String Operators and Methods
  • Numeric Literals
  • Math Operators and Expressions
  • Converting Among Types
  • Writing to the Screen
  • String Formatting
  • Command Line Parameters
  • Reading From the Keyboard

     

    Module 5: Flow Control

  • About Flow Control
  • What's with the White Space
  • If and Elif
  • Conditional Expressions
  • Relational Operators
  • Boolean Operators
  • While Loops
  • Alternate Ways to Exit a Loop

     

    Module 6 : Sequences

  • About Sequences
  • Lists
  • Tuples
  • Indexing and Slicing
  • Iterating Through a Sequence
  • Using Enumerate()
  • Functions for All Sequences
  • Keywords and Operators for All Sequences
  • The Range() Function
  • Nested Sequences
  • List Comprehensions
  • Generator Expressions

     

    Module 7: Working with files

  • Text File I/O
  • Opening a Text File
  • The With Block
  • Reading a Text File
  • Writing to a Text File
  • Non-Delimited (Raw) Data

     

    Module 8: Dictionaries and Sets

  • About Dictionaries
  • When to Use Dictionaries
  • Creating Dictionaries
  • Getting Dictionary Values
  • Iterating Through a Dictionary
  • Reading File Data into a Dictionary
  • Counting with a Dictionary
  • About Sets
  • Creating Sets
  • Working with Sets

     

    Module 9: Functions

  • Defining a Function
  • Function Parameters
  • Returning Values
  • Variable Scope

     

    Module 10 : Sorting

  • Sorting
  • The Sorted() Function
  • Alternate Keys
  • Lambda Functions
  • Sorting Nested Data
  • Sorting Dictionaries
  • Sorting in Reverse
  • Sorting Lists in Place

     

    Module 11: Using Modules

  • Regular Expressions
  • RE Syntax Overview
  • RE Objects
  • Searching for Patterns
  • Matching Without Re Objects
  • Compilation Fags
  • Grouping
  • Special Groups
  • Replacing Text
  • Splitting a String

     

    Module 12: Using the Standard Library

  • The Sys Module
  • Interpreter Information
  • STDIO
  • Launching External Programs
  • Paths, Directories, and Filenames
  • Walking Directory Trees
  • Grabbing Web Pages
  • Sending E-Mail
  • Math Functions
  • Random Values
  • Dates And Times
  • Zipped Archives

     

    Module 13: An Introduction to Python Classes

  • About O-O Programming
  • Defining Classes
  • Initializers
  • Instance Methods
  • Properties
  • Class Methods and Data
  • Static Methods
  • Private Methods
  • Inheritance
  • Untangling the Nomenclature

     

    Module 14: Bonus Exercises

  • Appendix A: Bibliography
  • Appendix B: Python Gotchas
  • Appendix C: String Formatting

     

    Our goal is to make sure your training meets your objectives, not ours. Therefore, all of our outlines are used as guidelines for particular courses. This outline does not guarantee that all the topics listed will be covered in the time allowed. The amount of material covered is based on the skill level of the student audience. We may change or alter course topics to best suit the classroom situation.

  • Sorry, we currently do not have any public courses scheduled for the Python level 2 course. Please contact us to see if we can put one on the schedule for you

    Sorry, we currently do not have any public courses scheduled for the Python level 2 course. Please contact us to see if we can put one on the schedule for you

    Python Intermediate

    Course Description

    Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse.


    This four day course leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting.


    This is a hands-on programming course. All concepts are reinforced by informal practice during the session followed by graduated lab exercises. Python Programming is a practical introduction to a working programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world.


    Who Should Attend

    Users who want to learn Python and use it for application development, system administration, or just to automate tasks in a simple, yet powerful way.


    Pre-Requisites

  • Working level knowledge of an operating system such as Linux, Windows, or MacOS.
  • Basic skill with at least one other programming language is desirable.
  • Python Intermediate

    Download PDF

    Module 1: Python Refresher

  • Variables
  • Basic Python Data Types
  • Sequences
  • Mapping Types
  • Program Structure
  • Files And Console I/O
  • Conditionals
  • Loops
  • Builtins

     

    Module 2: OS Services

  • The OS Module
  • Paths, Directories, and Filenames
  • Environment Variables
  • Launching External Programs
  • Walking Directory Trees
  • The Datetime Module
  • The Calendar Module

     

    Module 3: Pythonic Programming

  • The Zen of Python
  • Common Python Idioms
  • Unpacking Function Arguments
  • Lambda Functions
  • List Comprehensions
  • Iterables
  • Writing Generators
  • String Tricks
  • String Formatting

     

    Module 4: Modules

  • Using Import
  • Module Search Path
  • Namespaces
  • Executing Modules as Scripts
  • Packages
  • Configuring Import With __Init__.Py
  • Name Resolution (AKA Scope)
  • Python Style

     

    Module 5: Classes

  • Defining Classes
  • Instance Objects
  • Instance Attributes
  • Instance Methods
  • __Init__
  • Properties
  • Class Data
  • Class Methods
  • Inheritance
  • Multiple Inheritance
  • Using Super ()
  • Special Methods
  • Class-Private Variables
  • Static Methods

     

    Module 6 : Metaprogramming

  • Globals() and Locals()
  • Working with Attributes
  • The Inspect Module
  • Decorator Functions
  • Decorator Classes
  • Decorator Parameters
  • Creating Classes At Runtime
  • Monkey Patching

     

    Module 7: Developer Tools

  • Program Development
  • Comments
  • Pylint
  • Customizing Pylint
  • Using Pyreverse
  • The Unittest Module
  • Fixtures
  • Skipping Tests
  • Making a Suite of Tests
  • Automated Test Discovery
  • Using Nose
  • The Python Debugger
  • Starting Debug Mode
  • Stepping Through a Program
  • Setting Breakpoints
  • Profiling
  • Benchmarking

     

    Module 8: Database Access

  • The DB API
  • Available Interfaces
  • Connecting to a server
  • connect() examples
  • Creating a cursor
  • Executing a statement
  • Parameterized statements
  • Dictionary cursors
  • Metadata
  • Transactions
  • Object-relational mappers

     

    Module 9: PyQt4

  • Event Driven Applications
  • GUI Application Flow Chart
  • External Anatomy of a Pyqt4 Application
  • Internal Anatomy of a Pyqt4 Application
  • Using Designer
  • Anatomy of a Designer-Based Application
  • Naming Conventions
  • Common Widgets
  • Layouts
  • Selectable Buttons
  • Actions and Events
  • Menu Bar
  • Status Bar
  • Using Predefined Dialogs
  • Creating Custom Dialogs
  • Tabs
  • Niceties
  • Working with Images
  • Complete Example

     

    Module 10 : Network Programming

  • Sockets
  • Socket Options
  • Client Concepts
  • Server Concepts
  • Application Protocols
  • Forking Servers
  • Grabbing Html from The Web
  • Consuming Web Services
  • Web Data the Easier Way
  • Sending Email
  • Binary Data
  • The Struct Module

     

    Module 11: Multiprogramming

  • What Are Threads?
  • The Python Thread Manager
  • The Threading Module
  • Threads for the Impatient
  • Creating a Thread Class
  • Variables Sharing
  • Using Queues
  • Debugging Threaded Programs
  • The Multiprocessing Module
  • Alternatives to Multiprogramming

     

    Module 12: System Administration and Scripting

  • The Subprocess Module
  • Subprocess Convenience Functions
  • Using the Sh Module
  • Permissions
  • Saving Information
  • Creating a Useful Command Line Script
  • Creating Filters
  • Parsing the Command Line
  • Simple Logging
  • Logging Levels
  • Formatting Log Entries
  • Logging to Other Destinations

     

    Module 13: XML and JSON

  • About Xml
  • Normal Approaches to Xml
  • Which Module to Use?
  • Getting Started With ElementTree
  • How ElementTree Works
  • Creating a New Xml Document
  • Parsing an Xml Document
  • Navigating the Xml Document
  • Using XPath
  • Advanced XPath
  • About JSON
  • Reading JSON
  • Writing JSON

     

    Module 14: Extending Python with C

  • Why Extend Python?
  • Ways to Extend Python With C
  • Hand-Coded C
  • Overview
  • The C Program
  • Methods
  • The Method Table
  • The Init Function
  • Handling Errors
  • Custom Exception Objects
  • Putting It All Together
  • Using SWIG
  • The Interface Fle
  • Generating the Wrappers
  • Building and Installing The Extension
  • Ctypes

     

    Our goal is to make sure your training meets your objectives, not ours. Therefore, all of our outlines are used as guidelines for particular courses. This outline does not guarantee that all the topics listed will be covered in the time allowed. The amount of material covered is based on the skill level of the student audience. We may change or alter course topics to best suit the classroom situation.

  • Sorry, we currently do not have any public courses scheduled for the Python level 2 course. Please contact us to see if we can put one on the schedule for you


    Sorry, we currently do not have any public courses scheduled for the Python level 3 course. Please contact us to see if we can put one on the schedule for you

    Python Advanced

    Course Description

    In this Python training course, students already familiar with Python programming will learn advanced Python techniques such as IPython Notebook, the Collections module, mapping and filtering, lamba functions, advanced sorting, writing object-oriented code, testing and debugging, NumPy, pandas, matplotlib, regular expressions, Unicode, text encoding and working with databases, CSV files, JSON and XML.


    This advanced Python course is taught using Python 3, however, differences between Python 2 and Python 3 are noted.

    Who Should Attend

    Students already familiar with Python programming and who are wanting to learn the advanced coding in Python.


    Pre-Requisites

  • Basic Python programming experience. In particular, you should be very comfortable with: working with strings; working with lists, tuples and dictionaries; loops and conditionals; and writing your own functions or attend our Introduction to Python and Python Intermediate courses.
  • Experience in the following areas would be beneficial: some exposure to HTML, XML, JSON, and SQL.
  • Python Advanced

    Download PDF