TTPS4820: Python Boot Camp | Mastering Python Programming Essentials

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

As a cornerstone of our Python SkillJourney series, our Mastering Python Programming Boot Camp stands as a top-tier training experience, acclaimed for transforming Python novices into capable developers. Whether you aim to streamline routine tasks through automated Python scripts or venture into the world of web development, this course serves as both a launchpad and a compass, guiding you toward exciting horizons in analytics, data science, machine learning, and beyond.

Working in a hands-on learning environment, you’ll be guided through an immersive journey from Python’s foundational elements, like script writing and running, all the way to its more sophisticated capabilities – think file operations, regular expressions, and binary data manipulation. We place particular emphasis on Python-exclusive features, such as tuples, array slices, and nuanced output formatting, ensuring that you not only know Python but know it well. The curriculum is designed for practicality, immersing you into Python’s extensive module functionality and ensuring that your learning translates directly into real-world task execution.

The course is rich with hands-on activities, challenge labs, knowledge checks, valuable discussions and focused projects that can be done individually or in groups. You’ll exit this program equipped with the knowledge, skills and confidence needed to put your new Python skills right to work.

Audience Profile

This course is geared for technical users who are new to Python. Roles might include developers, software engineers, data analysts who want to enhance data processing, system administrators and web site administrators who want to use Python to support their server installations, developers who want more efficient web solutions, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts.

If you are coming from a non-technical background, you might consider the TTPS4803: Python for Everyone: Getting Started with Python Basics for Non-Developers (4 days) as an alternative to this course.

At Course Completion

This course combines engaging instructor-led presentations and useful demonstrations with valuable hands-on labs and engaging group activities. Throughout the course you'll learn how 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 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, tuples, dictionaries, and sets
Understand Pythonic features such as list comprehensions and generators
Write robust code using exception handling
Create and use virtual environments

If your team requires different topics, additional skills or a custom approach, our team will collaborate with you to adjust the course to focus on your specific learning objectives and goals.

Outline

The Python Environment

Starting Python
Using the interpreter
Running a Python script
Editors and IDEs

Variables and Values

Using variables
Builtin functions
String data
Numeric data
Converting types

Basic input and output

Writing to the screen
String formatting
Command line arguments
Reading the keyboard

Flow Control

About flow control
The if statement
Relational and Boolean values
while loops
Exiting from loops

Array types

Sequence types in general
Lists and list methods
Tuples
Indexing and slicing
Iterating through a sequence
Sequence functions, keywords, and operators
List comprehensions and generators

Working with files

File I/O overview
Opening a text file
Reading a text file
Writing to a text file

Dictionaries and Sets

About dictionaries
Creating dictionaries
Getting values
Iterating through a dictionary
About sets
Creating sets
Working with sets

Functions

Defining functions
Returning values
Parameters and arguments
Variable scope

Sorting

The sorted() function
Custom sort keys
Lambda functions
Sorting in reverse
Using min() and max()

Exception handling and logging

Exceptions
Using try/catch/else/finally
Handling multiple exceptions
Logging setup
Basic logging

Modules and Packages

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

Introduction to Classes

About object-oriented programming
Defining classes
Constructors
Understanding self
Properties
Instance Methods and data
Class methods and data
Inheritance

Regular Expressions

RE syntax overview
RE objects
Searching and matching
Compilation flags
Groups and special groups
Search-and-replace
Splitting strings

Dates and times

Date and time representations
Parsing dates from text
Formatting as text
Converting representations
Calendar data
Time zones

Working with the file system

Paths, directories, and filenames
Checking for existence
Permissions and other file attributes
Walking directory trees
Using shutil for file operations

Advanced data handling

Defaultdict and Counter
Pretty-printing data structures
Compressed archives (zip, gzip, tar, etc.)
Persistent data

Network programming

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

Effective Scripts

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

Virtual Environments

Why are virtual environments needed
Creating a virtual env
Replicating an environment
Virtual environment issues

Addendum & Resources

Prerequisites

To ensure a smooth learning experience and maximize the benefits of attending this course, you should have the following prerequisite skills:

At least some prior hands-on experience with scripting or programming. You don't need to be an expert in either, but you should have had some exposure and should be coming from a technical background.
Working with Unix or Linux, and familiarity with using the command line interface for simple tasks, such as file navigation and executing commands.
Basic familiarity working with text editors like Notepad, or IDEs, would be helpful as the course includes hands-on lab sessions requiring code editing.