Description
Python is an interpreted, object-oriented, high-level language that empowers you to automate your work so it can be completed predictably and accurately. This freely available language is installed on all major platforms without a charge. Given Python’s vast libraries, you’ll have a head start programming most tasks.
Be it system admins, network, cloud, or storage engineers, all lessons in our courseware are highly relevant for scripting within the workplace, including; data retrieval and storage from the local system, working with RESTful APIs, and decoding JSON.
Class is a combination of live instructor demo and hands-on labs.
Who should attend
- This course is an appropriate introduction to students of any background looking to get started with Python
- System Administrators
- Network Administrators and Engineers
- DevOps Engineers
- Management, Directors, VPs
Prerequisites
Keyboard proficiency.
Course Objectives
- Current Python3 Standard Library
- Popular 3rd party libraries
- Version control with git
- Git integration with popular SCM (GitHub)
- Parsing and building files
- Pull JSON from API queries
- Manipulate Excel and other popular formats with pandas dataframes
- Building feature rich charts and graphs
- Searching with Regular Expressions (regex)
- Best practice techniques
Follow On Courses
APIs and API Design with Python (AADP)
Jenkins Automation Server Essentials (JASE)
Python for Network Automation (PNA)
Outline: Python Basics (PBS)
Introduction to Python
- Installing Python 3.x
- Preparing to write Python
- Preparing to write a Python file (*.py) – Text Editors
- Executing a Python file
- Python Enhancement Proposals (PEPs)
- Python Statements and Control Flow
- Python Interpreter
- Overview of the Standard Library
Version Controlling Code with Git
- Overview of Git
- Git commands
- Set up a GitHub account
- GitHub essentials
- README course requirements
- How to Set up a repo
- Issue a Pull request
- How to use “Issues” for peer review
Basics of Programming
- Functions and purpose of main()
- Objects
- Methods
- Built in Functions
- Arguments
- Controlling standard out
- White spacing basic rules
- String Literal Escape Sequences
- Python Variables
- Naming Conventions & Rules
- Types as Objects
- Sequence Types
- List Iteration
- List Enumeration
- Sequence Assignments
- Mutable vs Immutable Objects
- Assignment Shorthand
Python Basic Variables and Data Types
- Numeric Types
- Operators and Precedence / Arithmetic Expressions
- Integers
- Floating points
String Types
- Generating Strings in Python
- Common String Methods
- Formatting String Output
- Booleans
- Printing and formatting strings
- Scripting with input()
- About raw_input()
Lists & Dictionaries & Tuples
- Lists
- Mixed Lists
- Common List Methods
- Other List Operations
- An overview on and construction of dictionaries
- Keys and Values
- Dictionary Methods
- Tuples
- Python Time Tuples
- Dictionaries vs Lists vs Tuples
- Translating JSON to Pythonic data
If, elif, else
- Relational Operators
- Logical operators
- Comparison Operations
- “simple” if Statement
- If else statements
- If elif
- Nested if statement
Looping with “while”
- While usage
- Count controlled loop
- Event controlled loop
- Continue
- Break
Looping with “for”
- The for Loop
- For iteration examples
- Looping across data sets
- Looping across lists of lists
- Looping across lists of dictionaries
Understanding Iterators
- The range() Function
- Taking the range() of len()
- Iterable Objects
- The iter() Function
- Looping with dictionaries
- Looping with lists
Getting Data In and Out of Python
- Opening Files
- Working with Files
- Read data from files
- Controlling Output Location
- Intro to working with APIs
- What is a “REST”ful API?
- APIs and JSON
Creating Python Functions
- Function Basics
- Defining Functions
- Function Polymorphism
- Argument Defaults
- Lambdas
- What is if name == “main”
- Local Variables
- Variable Masking
- Preventing Variable Modifications
- Argument Matching Methods
- Basic List Comprehensions
Modules & Packages
- Pip and pip3
- Module Basics
- Packages
- Virtual environments
- Defined modules
- Import modules
- From import statements
- Some useful modules to know
- RESTful APIs and requests
- Dataframes with pandas
- Graphing with matplotlib
Python Scope
- Naming conventions
- Local scope
- Global scope
- Nested scope
Object Oriented Python
- About OOP
- The Class Statements
- Defining a class
- Class Inheritance
- Classes as Objects
- Using Dictionaries
- Understanding self
- Class fields and constructors
- Data structures
- Subclasses (Inheritance)
- Multiple Inheritance
- Static methods
(Optional) Regular Expression
- import re library
- Writing regular expression
- Searching for data in files
- Using Regular Expression to search data sets
- Searching for data in Wireshark Traces (Python and *.pcaps)