Advanced Python Programming / Next-Level Python

Mastering Python Programming is an introductory and beyond-level practical, hands-on Python training course that 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 comprehensive, practical course provides an in-depth exploration of working with the 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.

Course Information

Price: $2,495.00
Duration: 5 days
Learning Credits:
Course Delivery Options

Check out our full list of training locations and learning formats. Please note that the location you choose may be an Established HD-ILT location with a virtual live instructor.

Train face-to-face with the live instructor.

Access to on-demand training content anytime, anywhere.

Attend the live class from the comfort of your home or office.

Interact with a live, remote instructor from a specialized, HD-equipped classroom near you. An SLI sales rep will confirm location availability prior to registration confirmation.

All Sunset Learning dates are guaranteed to run!




Target Audience:

This is an introductory-level Python course geared for experienced users who want to use Python in web development projects, or system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts. Basic familiarity with any programming or scripting language would be helpful, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows. 


Course Objectives:

Skills-Focused, Hands-On Learning: This course is about 50% hands-on lab to 50% lecture ratio, combining engaging, informed instructor presentations, demonstrations and discussions with extensive machine-based student labs and practical project work. Throughout the course, students will learn to write essential Python scripts using the most current and efficient skills and techniques.  


Working within an engaging, hands-on learning environment, guided by our expert instructor, students will learn to: 

  • Create working Python scripts following best practices
  • Use python data types appropriately
  • Read and write files with both text and binary data
  • Search and replace the text with regular expressions
  • Get familiar with the standard library and its work-saving modules
  • Use lesser-known but powerful Python data types
  • Create "real-world", professional Python applications
  • Work with dates, times, and calendars 
  • Know when to use collections such as lists, dictionaries, and sets
  • Understand Pythonic features such as comprehensions and iterators
  • Write robust code using exception handling


Course Outline:

Session 1 — An overview of Python

  • What is python?
  • Python Timeline 
  • Advantages/Disadvantages of Python 
  • Getting help with pydoc 

Session 2 — The Python Environment

  • Starting Python 
  • Using the interpreter 
  • Running a Python script 
  • Python scripts on Unix/Windows
  • Editors and IDEs 

Session 3 — Getting Started

  • Using variables 
  • Built-in functions 
  • Strings 
  • Numbers
  • Converting among types 
  • Writing to the screen 
  • Command-line parameters 

Session 4 — Flow Control

  • About flow control 
  • White space 
  • Conditional expressions 
  • Relational and Boolean operators 
  • While loops 
  • Alternate loop exits

Session 5 – Array types

  • About array types (AKA sequences)
  • Lists and list methods 
  • Tuples 
  • Indexing and slicing 
  • Iterating through a sequence
  • Nested sequences 
  • Sequence functions, keywords, and operators 
  • List comprehensions 
  • Generator Expressions

Session 6 — Working with files

  • File overview
  • Opening a text file 
  • Reading a text file 
  • Writing to a text file
  • Reading and writing raw (binary) data
  • Converting binary data with struct

Session 7 — Dictionaries and Sets

  • About dictionaries 
  • Creating dictionaries 
  • Iterating through a dictionary 
  • About sets 
  • Creating sets 
  • Working with sets 

Session 8 — Functions

  • Defining functions 
  • Parameters  
  • Global and local scope
  • Nested functions 
  • Returning values 

Session 9 — Sorting

  • The sorted() function
  • Alternate keys 
  • Lambda functions 
  • Sorting collections
  • Using operator.itemgetter() 
  • Reverse sorting

Session 10 — Errors and Exception Handling

  • Syntax errors 
  • Exceptions 
  • Using try/catch/else/finally
  • Handling multiple exceptions 
  • Ignoring exceptions 

Session 11 – Modules and Packages

  • The import statement 
  • Module search path 
  • Creating Modules 
  • Using packages
  • Function and Module aliases 

Session 12 — Classes

  • About o-o programming
  • Defining classes
  • Constructors
  • Methods
  • Instance data
  • Properties
  • Class methods and data

Session 13 — Regular Expressions

  • RE syntax overview 
  • RE Objects 
  • Searching and matching 
  • Compilation flags 
  • Groups and special groups
  • Replacing text
  • Splitting strings

Session 14 – The standard library

  • The sys module 
  • Launching external programs 
  • Math functions 
  • Random numbers 
  • Reading CSV data

Session 15 – Dates and times

  • Working with dates and times
  • Translating timestamps
  • Parsing dates from text
  • Formatting dates
  • Calendar data

Session 16 – Working with the file system

  • Paths, directories, and filenames 
  • Checking for existence
  • Permissions and other file attributes
  • Walking directory trees 
  • Creating filters with fileinput
  • Using shutil for file operations

Session 17 – Advanced data handling

  • Defaultdict and Counter
  • Prettyprinting data structures
  • Compressed archives (zip, gzip, tar, etc.)
  • Persistent data

Session 18 – Network programming

  • Using requests
  • Grabbing web content
  • Sending email
  • Using SSH for remote access
  • Using FTP

Session 19 – Writing real-life applications

  • Reading input files a la Unix
  • Parsing command-line options
  • Detecting the current platform
  • Implementing logging