Python Programming COURSE OVERVIEW: This course introduces the student to the Python language. Upon completion of the course, the student will be able to write non-trivial Python programs dealing with a wide variety of subject matter domains. Topics include language components, the IDLE environment, control flow constructs, strings, I/O, collections, classes, modules, and regular expressions. The course is supplemented with many hands-on labs using either Linux or Windows. WHO WILL BENEFIT FROM THIS COURSE? This course is designed for anyone who needs to learn how to write programs in Python. PREREQUISITES: Students should have taken the Software Development for Non-Programmers course or have some experience with at least one programming language. Typically, students in this course will have already programmed in either C, C++, Java, Perl, Ruby, VB, or anything equivalent to these languages. COURSE OBJECTIVES: Upon completion of this course, students will be able to: Execute Python code in a variety of environments Use correct Python syntax in Python programs Use the Python control flow constructs correctly Write Python programs using various collection data types Write home grown Python functions Use many of the standard Python modules such as os, sys, math, and time Handle various exceptions via the Python Exception Handling model Use the io module in Python to read and write disk files Create custom classes and use existing Python classes Understand and use the Object Oriented paradigm in Python programs Use the Python Regular Expression capabilities for data vertification Differentiate between the proper use of Python collection classes Use advanced data structures Use Python list comprehensions Use Python generators Write GUI programs in Python Write CGI programs in Python Create and execute processes Write Network Programs in Python Use Python to store data in a variety of ways including use of a database
COURSE OUTLINE: Chapter 1: An Introduction to Python A Brief History of Python Python Versions Installing Python Environment Variables Executing Python from the Command Line IDLE Editing Python Files Python Documentation Getting Help Dynamic Types Python Reserved Words Naming Conventions Chapter 2: Basic Python Syntax Basic Syntax Comments String Values String Methods The format Method String Operators Numeric Data Types Conversion Functions Simple Output Simple Input The % Method The print Function Chapter 3: Language Components Indenting Requirements The if Statement Relational and Logical Operators Bit Wise Operators The while Loop break and continue The for Loop Chapter 4: Collections Lists
Tuples Sets Dictionaries Sorting Dictionaries Copying Collections Summary Chapter 5: Functions Defining Your Own Functions Parameters Function Documentation Keyword and Optional Parameters Passing Collections to a Function Variable Number of Arguments Scope Functions - "First Class Citizens" Passing Functions to a Function map filter Mapping Functions in a Dictionary Lambda Inner Functions Closures Chapter 6: Modules Modules Standard Modules - sys Standard Modules - math Standard Modules - time The dir Function Chapter 7: Exceptions Errors Runtime Errors The Exception Model Exception Hierarchy Handling Multiple Exceptions Raise Assert Chapter 8: Input and Output Data Streams Creating Your Own Data Streams
Access Modes Writing Data to a File Reading Data From a File Additional File Methods Using Pipes as Data Streams Handling IO Exceptions Working with Directories Metadata The pickle Module Chapter 9: Classes in Python Classes in Python Principles of Object Orientation Creating Classes Instance Methods File Organization Special Methods Class Variables Inheritance Polymorphism Type Identification Custom Exception Classes Chapter 10: Regular Expressions Simple Character Matches Special Characters Character Classes Quantifiers The Dot Character Greedy Matches Grouping Matching at Beginning or End Match Objects Substituting Splitting a String Compiling Regular Expressions Flags Chapter 11: Data Structures List Comprehensions Nested List Comprehensions Dictionary Comprehensions Dictionaries with Compound Values
Processing Lists in Parallel Specialized Sorts Time Functionality Generators Chapter 12: Writing GUIs in Python Components and Events An Example GUI The Tk Widget Button Widgets Entry Widgets Text Widgets Checkbutton Widgets Radiobutton Widgets Listbox Widgets Frame Widgets Menu Widgets Toplevel Widgets Dialogs Chapter 13: Python and CGI Scripts What is CGI HTML HTML Forms A Guestbook Application What Can Go Wrong! HTML Tables The CGI Script Rendering of the Script Chapter 14: The os module The Environment Creating a Process Listing Files Other Process Methods File Information (Metadata) Working With Directories Chapter 15: Network Programming Networking Fundamentals The Client/Server Model The socket Module A Client Program A Server Program
An Evaluation Client and Server A Threaded Server Chapter 16: Python and Databases DBM Operations Pickling Pickling with Complex Objects Shelves Using sqlite3 Executing Queries Table Descriptions Writing Database Scripts SUNSET LEARNING INSTITUTE (SLI) DIFFERENTIATORS: Sunset Learning Institute (SLI) has been an innovative leader in developing and delivering authorized technical training since 1996. Our goal is to help our customers optimize their cloud technology investments by providing convenient, high quality technical training that our customers can rely on. We empower students to master their desired technologies for their unique environments. What sets SLI apart is not only our immense selection of trainings options, but our convenient and consistent delivery system. No matter how complex your environment is or where you are located, SLI is sure to have a training solution that you can count on! Premiere World Class Instruction Team All SLI instructors have a four-year technical degree, instructor level certifications and field consulting work experience. Sunset Learning has won numerous Instructor Excellence and Instructor Quality Distinction awards since 2012 Enhanced Learning Experience The goal of our instructors during class is ensure students understand the material, guide them through our labs and encourage questions and interactive discussions. Convenient and Reliable Training Experience You have the option to attend classes at any of our established training facilities or from the convenience of your home or office with the use of our HD-ILT network (High Definition Instructor Led Training) All Sunset Learning Institute classes are guaranteed to run you can count on us to deliver the training you need when you need it! Outstanding Customer Service Dedicated account manager to suggest the optimal learning path for you and your team Enthusiastic Student Services team available to answer any questions and ensure a quality training experience