Python I: Essentials Training in Bristol

Enroll in or hire us to teach our Python I: Essentials class in Bristol, Connecticut by calling us @303.377.6176. Like all HSG classes, Python I: Essentials may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, Python I: Essentials may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
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 class. All concepts are reinforced by informal practice during the lecture 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.
Course Length: 4 Days
Course Tuition: $1290 (US)

Prerequisites

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

Course Outline

 

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
Which version of Python?
The of 2.x
Getting Help
pydoc

The Python Environment
Starting Python
If the interpreter is not in your PATHs
Using the interpreter
Trying out a few commands
Running a Python script
Python scripts on UNIX
Python scripts on Windows
Python editors and IDEs

Getting Started
Using Variables
Keywords
Built-in Functions
Variable Typing
Strings
Single-quoted string literals
Tripe-quoted string literals
Raw String literals
Unicode literals
String operators and methods
Numeric literals
Math operators and expressions
Converting among types
Writing to the screen
String formatting
Legacy string formatting
Command line parameters
Reading from the keyboard

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

Sequences
About sequences
Lists
Tuples
Indexing and slicing
Iterating through a sequence
Functions for all sequences
Using enumerate()
Operators and keywords for sequences
The xrange() function
Nested sequences
List comprehensions
Generator expressions

Working with files
Text file I/O
Opening a text file
The with block
Reading a text file
Writing to a text file
“Binary” (raw, or non-delimited) data

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 dictionaries
About sets
Creating sets
Working with sets

Functions
Defining a function
Function parameters
Global variables
Variable scope
Returning values

Sorting
Sorting overview
The sorted() function
Alternate keys
Lambda functions
Sorting collections of collections
Using operator.itemgetter()
Sorting dictionaries
Sorting in reverse
Sorting lists in place

Errors and Exception Handling
Syntax errors
Exceptions
Handling exceptions with try
Handling multiple exceptions
Handling generic exceptions
Ignoring exceptions
Using else
Cleaning up with finally
The standard exception hierarchy

Using Modules
What is a module?
The import statement
Where did the .pyc file come from?
Module search path
Zipped libraries
Creating Modules
Packages
Module aliases
When the batteries aren’t included

Regular Expressions
RE syntax overview
Regular expression metacharacters
RE Objects
Searching for patterns
Matching without re objects
Compilation flags
Grouping
Special groups
Replacing text
Replacing with a callback
Splitting a string

Using the Standard Library
The sys module
Interpreter information
STDIO
Launching external programs
Paths, directories, and filenames
Walking directory trees
Grabbing data from the web
Sending e-mail
Math functions
Random values
Dates and times
Zipped archives

An Introduction to Python Classes
About OO programming
Defining classes
Initializers
Instance methods
Properties
Class methods and data
Static methods
Private methods
Inheritance
Untangling the nomenclature

Bonus Exercises
Appendix A: Bibligraphy
Appendix B: Python Gotchas
Appendix C: Builtin Functions

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Python Programming Uses & Stats

Python Programming is Used For:
Web Development Video Games Desktop GUI's Software Development
Difficulty
Popularity
Year Created
1991
Pros
Easy to Learn:
The learning curve is very mild and the language is versatile and fast to develop.
 
Massive Libraries:
You can find a library for basically anything: from web development, through game development, to machine learning.
 
Do More with Less Code:
You can build prototypes and test out  ideas much quicker in Python than in other language
Cons

Speed Limitations:

It is an interpretive language and therefore much slower than compiled languages.

Problems with Threading:

Multi-threaded CPU-bound programs may be slower than single-threaded ones do to the Global Interpreter Lock (GIL) that allows only one thread to execute at a time.

Weak on Mobile:

Although, there are a number or libraries that provide a way to develop for both Android and iOS using Python currently Android and iOS don’t support Python as an official programming language.

Python Programming Job Market
Average Salary
$107,000
Job Count
26,856
Top Job Locations

New York City

Mountain View

San Francisco

Complimentary Skills to have along with Python Programming
The potential for career growth, whether you are new to the industry or plan to expand your current skills, depends upon your interests:
  - For knowledge in building in PC or windows, phone apps or you are looking your future in Microsoft learn C#
  - For android apps and also cross platform apps then learn Java
  - If you are an Apple-holic and want to build iOS and MAC apps and then choose Objective C or Swift
  - Interested in game development? C++
  - Data mining or statistics then go with R programming or MATLAB
  - Building an operating systems? C

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.