Course Outline
Pre-Requisites
This basic level course provides an excellent kick start for users new to Python and scripting, enabling them to use basic Python skills on the job in a variety of ways. This course is appropriate for advanced users, 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. Students can apply the course skills to use Python in basic web development projects or automate or simplify common tasks with the use of Python scripts. The course also serves as a solid primer course / foundation for continued Python study in support for next level web development with Python, Python for data science / machine learning or Python for systems admin or networking support. Basic familiarity with any programming or scripting language would be helpful. Students should have a working, user-level knowledge of Unix/Linux, Mac, or Windows.
Lessons
Course Overview
Introduction to Python | Python Programming Basics is a hands-on Python programming course that teaches you the key skills you’ll need to get started with programming in Python to a solid foundational level. The start of the course will lead you through writing and running basic Python scripts, and then guide you through how to use 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 course provides you with an excellent kick start for users new to Python and scripting, enabling you to quickly use basic Python skills on the job in a variety of ways. You’ll be able use Python in basic web development projects, or use it to automate or simplify common tasks with the use of Python scripts. The course also serves as a solid primer course / foundation for continued Python study in support for next level web development with Python, using Python in DevOps, Python for data science / machine learning or Python for systems admin or networking support.
Course Objectives
This course aims to spend about half the time in class working through hands-on labs, combining expert lecture, real-world demonstrations and group discussions with machine-based exercises. Our engaging instructors and mentors are highly experienced practitioners who bring years of current "on-the-job" experience into every classroom. Throughout the hands-on course students will learn to write essential Python scripts using the most current and efficient skills and techniques.
Working in a hands-on learning environment, guided by our expert team, attendees 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 text with regular expressions
- Get familiar with the standard library and its work-saving modules
- Create "real-world", professional Python applications
- 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 Agenda
Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda and labs may adjust during live delivery based on audience interests, skill-level and participation.
An overview of Python
- What is python?
- Python Timeline
- Advantages/Disadvantages of Python
- Getting help with pydoc
The Python Environment
- Starting Python
- Using the interpreter
- Running a Python script
- Python scripts on Unix/Windows
- Editors and IDEs
Getting Started
- Using variables
- Builtin functions
- Strings
- Numbers
- Converting among types
- Writing to the screen
- Command line parameters
Flow Control
- About flow control
- White space
- Conditional expressions
- Relational and Boolean operators
- While loops
- Alternate loop exits
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
Working with files
- File overview
- Opening a text file
- Reading a text file
- Writing to a text file
Dictionaries and Sets
- About dictionaries
- Creating dictionaries
- Iterating through a dictionary
- About sets
- Creating sets
- Working with sets
Functions
- Defining functions
- Returning values
- Parameters
- Global and local scope
Sorting
- The sorted() function
- Alternate keys
- Lambda functions
- Sorting collections
- Using operator.itemgetter()
- Reverse sorting
Time-Permitting
Errors and Exception Handling
- Syntax errors
- Exceptions
- Using try/catch
- Handling multiple exceptions
- Ignoring exceptions
Modules and Packages
- The import statement
- Module search path
- Creating Modules
- Using packages
- Function and Module aliases
Working with Classes & OO Programming
- About o-o programming
- Defining classes
- Constructors
- Methods
- Instance data
- Properties
- Class methods and data
Course Materials
Course Materials: Each student will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and links (as applicable). Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.
Hands-on Setup Made Simple! Our dedicated tech team will work with you to ensure your student machines and learning environment is setup, tested and ready to go well in advance of the course delivery date, ensuring a smooth start to class and seamless hands-on experience for your students. We offer several flexible student machine setup options including guided manual set up for simple installation directly on student machines, or cloud based / remote hosted lab solutions where students can log in to a complete separate lab environment minus any installations, or we can supply complete turn-key, pre-loaded equipment to bring ready-to-go student machines to your students or in-person facility.
Cancellation Policy
TBD
Training Location
Virtual Instructor Led Online Training
your home or offce
your city,
your province
your country