Comprehensive Python Training

In this Comprehensive Python training course, students learn to program in Python. The course is aimed at students new to the language who may or may not have experience with other programming languages.

This Python course is taught using Python 3; however, differences between Python 2 and Python 3 are noted. For private Python classes, our instructor can focus specifically on Python 2 if desired.


Public Classes: Delivered live online via WebEx and guaranteed to run . Join from anywhere!

Private Classes: Delivered at your offices , or any other location of your choice.

  1. Learn how Python works and what it's good for.
  2. Understand Python's place in the world of programming languages.
  3. Learn to work with and manipulate strings in Python.
  4. Learn to perform math operations with Python.
  5. Learn to work with Python sequences: lists, arrays, dictionaries, and sets.
  6. Learn to collect user input and output results.
  7. Learn flow control processing in Python.
  8. Learn to write to and read from files using Python.
  9. Learn to write functions in Python.
  10. Learn to handle exceptions in Python.
  11. Learn to work with dates and times in Python.
  12. Learn to work with the Collections module.
  13. Learn about mapping and filtering and lambda functions.
  14. Learn advanced sorting.
  15. Learn to work with regular expressions in Python.
  16. Learn to work with databases, CSV files, JSON, and XML.
  17. Learn to write object-oriented code in Python.
  18. Learn to test and debug your Python code.
  19. Learn about Unicode and text encoding.
  1. Python Basics
    1. Running Python
      1. Visual Studio Code
      2. Python Interpreter in Interactive Mode
      3. Commercial and Free Python IDEs
      4. IDLE
    2. Hello, world!
    3. Hello World
    4. Literals
    5. Python Comments
      1. Multi-line Comments
    6. Data Types
    7. Exploring Types
    8. Variables
      1. Variable Names
      2. Variable Assignment
      3. Simultaneous Assignment
    9. A Simple Python Script
      1. Constants
      2. Deleting Variables
    10. Writing a Python Module
      1. The main() Function
    11. print() Function
      1. Named Arguments
    12. Collecting User Input
    13. Hello, You!
    14. Getting Help
  2. Functions and Modules
    1. Defining Functions
    2. Variable Scope
    3. Global Variables
    4. Function Parameters
      1. Using Parameter Names in Function Calls
    5. A Function with Parameters
      1. Default Values
    6. Parameters with Default Values
    7. Returning Values
    8. Importing Modules
      1. Module Search Path
      2. pyc Files
  3. Math
    1. Arithmetic Operators
      1. Modulus and Floor Division
    2. Floor and Modulus
    3. Assignment Operators
      1. Precedence of Operations
    4. Built-in Math Functions
      1. int(x)
      2. eval(str)
      3. float(x)
      4. abs(x)
      5. min(args) and max(args)
      6. pow(x,y[,z])
      7. round(number[, n])
      8. sum(iter[, start])
    5. The math Module
      1. Additional math Functions
    6. The random Module
      1. Seeding
    7. How Many Pizzas Do We Need?
  4. Python Strings
    1. Quotation Marks and Special Characters
      1. Escaping Characters
      2. Triple Quotes
    2. String Indexing
    3. Indexing Strings
    4. Slicing Strings
    5. Slicing Strings
    6. Concatenation and Repetition
      1. Concatenation
      2. Repetition
    7. Repetition
      1. Combining Concatenation and Repetition
    8. Common String Methods
    9. String Formatting
      1. Format Specification
      2. Long Lines of Code
    10. Playing with Formatting
    11. Formatted String Literals (f-strings)
    12. Getting Acquainted with f-strings
    13. Built-in String Functions
      1. str(object)
      2. len(string)
      3. min() and max()
    14. Outputting Tab-delimited Text
  5. Iterables: Sequences, Dictionaries, and Sets
    1. Definitions
    2. Sequences
      1. Lists
      2. Deleting List Elements
      3. Sequences and Random
    3. Remove and Return Random Element
      1. Tuples
      2. The Immutability of Tuples
      3. Lists vs. Tuples
      4. Ranges
      5. Converting Sequences to Lists
      6. Indexing and Slicing
    4. Simple Rock, Paper, Scissors Game
    5. Slicing Sequences
      1. min(iter) and max(iter)
      2. sum(iter[, start])
      3. Converting Sequences to Strings with str.join(seq)
      4. Splitting Strings into Lists
    6. Unpacking Sequences
    7. Dictionaries
      1. The update() Method
      2. The setdefault() Method
      3. Dictionary View Objects
      4. Deleting Dictionary Keys
    8. The len() Function
    9. Creating a Dictionary from User Input
    10. Sets
    11. *args and **kwargs
      1. Using *args
      2. Using **kwargs
  6. Flow Control
    1. Conditional Statements
      1. The is and is not Operators
      2. all() and any()
      3. Ternary Operator
    2. Loops in Python
      1. while Loops
      2. for Loops
    3. All True and Any True
    4. break and continue
    5. Word Guessing Game
      1. The else Clause
    6. Find the Needle
    7. The enumerate() Function
    8. Generators
      1. Generator Use Case: Randomly Moving Object
      2. The next() Function
    9. Rolling Dice
    10. List Comprehensions
  7. Virtual Environments
    1. Virtual Environment
      1. Creating a Virtual Environment
      2. Activating and Deactivating a Virtual Environment
      3. Deleting a Virtual Environment
    2. Working with a Virtual Environment
  8. Regular Expressions
    1. Regular Expression Syntax
      1. Try it
      2. Backreferences
    2. Python's Handling of Regular Expressions
  9. Unicode and Encoding
    1. Bits and Bytes
    2. Hexadecimal Numbers
    3. Converting Numbers between Number Systems
      1. hex(), bin(), ord(), chr(), and int()
    4. Encoding
      1. Encoding Text
      2. Encoding and Decoding Files in Python
      3. Converting a File from cp1252 to UTF-8
    5. Finding Confusables
  10. File Processing
    1. Opening Files
      1. Methods of File Objects
    2. Finding Text in a File
    3. Writing to Files
    4. List Creator
    5. The os and os.path Modules
      1. os
      2. os.path
  11. Exception Handling
    1. Wildcard except Clauses
    2. Getting Information on Exceptions
    3. Raising Exceptions
    4. The else Clause
    5. The finally Clause
    6. Using Exceptions for Flow Control
    7. Running Sum
    8. Raising Your Own Exceptions
    9. Exception Hierarchy
  12. Python Dates and Times
    1. The time Module
      1. Clocks
      2. Time Structures
      3. Times as Strings
      4. Time and Formatted Strings
      5. time.sleep(secs)
    2. The datetime Module
      1. objects
      2. datetime.time objects
      3. datetime.datetime Objects
      4. datetime.timedelta objects
    3. Report on Amtrak Departure Times
  13. Running Python Scripts from the Command Line
    1. sys.argv
      1. A More Useful Example
    2. sys.path
  14. Advanced Python Concepts
    1. Lambda Functions
    2. Advanced List Comprehensions
      1. Quick Review of Basic List Comprehensions
      2. Multiple for Loops
    3. Rolling Five Dice
    4. Collections Module
      1. Named Tuples
      2. Default Dictionaries (defaultdict)
    5. Creating a defaultdict
      1. Ordered Dictionaries (OrderedDict)
    6. Creating a OrderedDict
      1. Counters
    7. Creating a Counter
      1. Deques (deque)
    8. Working with a deque
    9. Mapping and Filtering
      1. map(function, iterable, ...)
      2. filter(function, iterable)
      3. Using Lambda Functions with map() and filter()
    10. Mutable and Immutable Built-in Objects
      1. Strings are Immutable
      2. Lists are Mutable
    11. Sorting
      1. Sorting Lists in Place
      2. The sorted() Function
    12. Converting list.sort() to sorted(iterable)
      1. Sorting Sequences of Sequences
      2. Sorting Sequences of Dictionaries
    13. Unpacking Sequences in Function Calls
    14. Converting a String to a Object
      1. Modules and Packages
      2. Modules
      3. Packages
      4. Search Path for Modules and Packages
  15. Working with Data
    1. Relational Databases
      1. PEP 0249 -- Python Database API Specification v2.0
      2. PyMySQL
      3. Returning Dictionaries instead of Tuples
      4. sqlite3
    2. Querying a SQLite Database
      1. Passing Parameters
      2. SQLite Database in Memory
      3. Executing Multiple Queries at Once
    3. Inserting File Data into a Database
    4. CSV...
      1. Reading from a CSV File
      2. Finding Data in a CSV File
    5. Comparing Data in a CSV File
      1. Creating a New CSV File
      2. CSV Dialects
    6. Getting Data from the Web
      1. The Requests Package
      2. Beautiful Soup
      3. XML
    7. Requests and Beautiful Soup
    8. JSON.
    9. Using JSON to print Course data
  16. Testing and Debugging
    1. Testing for Performance
      1. time.perf_counter()
      2. The timeit Module
    2. The unittest Module
      1. Unittest Test Files
    3. Fixing Functions
      1. Special unittest.TestCase Methods
      2. Assert Methods
  17. Classes and Objects
    1. Attributes
    2. Behaviors
    3. Classes vs. Objects
      1. Everything Is an Object
      2. Creating Custom Classes
    4. Attributes and Methods
    5. Adding a roll() Method to Die
    6. Private Attributes
    7. Properties
      1. Creating Properties with the property() Function
      2. Creating Properties using the @property Decorator
    8. Properties
      1. Objects that Track their Own History
    9. Documenting Classes
      1. Using docstrings
    10. Documenting the Die Class
    11. Inheritance
      1. Overriding a Class Method
      2. Extending a Class
    12. Extending the Die Class
      1. Extending a Class Method
    13. Extending the roll() Method
    14. Static Methods
    15. Class Attributes and Methods
      1. Class Attributes
      2. Class Methods
      3. You Must Consider Subclasses
    16. Abstract Classes and Methods
    17. Understanding Decorators
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following would be useful for this Python class:

  • Some programming experience.
Follow-on Courses

Training for your Team

Length: 5 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

This course is composed of the following classes, which you can sign up for individually.

Introduction to Python Training
Next Class: Oct 14-17, 2019 10AM-5PM ET

Advanced Python Training
Next Class: Oct 10-11, 2019 10AM-5PM ET

What people say about our training

I highly recommend this course to anyone needing an intro level SQL course to SQL; the hands-on exercises are perfect for the introductory level.
Joy Willich
Prairie Band Casino & Resort
Gave a good base to start learning Java. Now I have a better understanding of how our Java applications work. I feel more confident that I can eventually become a Java pro. I would take more Webucator classes.
Shiju Daniel
City of Philadelphia District Attorney's Office
The instructor was outstanding. His knowledge and presentation skills were perfect for our Java class.
Dan Wilt
US District Court Western PA
Our instructor was both highly skilled and engaging. Excellent instruction combined with material that both summarized the lecture and offered a solid reference. This was easily the best course I've taken in years.
Rob Walker
T. Rowe Price

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing


Students who have taken Instructor-led Training


Organizations who trust Webucator for their Instructor-led training needs


Satisfaction guarantee and retake option


Students rated our trainers 9.29 out of 10 based on 29,928 reviews

Contact Us or call 1-877-932-8228