Python for DevOps
This training content is primarily developed for engineers who are working in DevOps & Cloud domain and want to learn Python. That may help them to either automate lot of the stuff they work on in their respective domain or give them new opportunies in their career.
Pre-requisites
Basic understanding of any programming language
What we'll cover in this training
-
- Data types
- Data Structures (Collection Objects)
- Namespaces
- Mutable and Immutable objects
-
- If/else (Control Flow)
- Loops
- Functions
-
- Input/Output
- File Handling
- Developing a CLI App in Python
-
- Import
- Exception handling
- File handling
-
- More on functions
- Arbitrary Arguments
- Keyword Arguments
- Positional Arguments
-
- Lambda Functions
- Map, Filter & Redume
- Comprehensions
- Scope - (Global, Local & Nonlocal)
-
- Understanding __name__ builtin
- Use of __name__ == "__main__"
- Modules & Packages
- How import works
-
- Decorators
- Iterators
- Generators
- PDB module
-
- PyPi & pip
- How pip install works?
- What is virtualenv
- Creating your own Package
-
- Class
- Objects
- Instance & Class Attributes
- Self keyword
- __init__ & __new__ methods
- classmethod, staticmethod & instance methods
- Practical usage of @classmethod
- Inheritance
- Super Method
- What super method can do for you?
- Encapsulation
- Multiple Inheritance
- MRO
- Polymorphism
-
Session 10 (TBA)
- Working with command line (sys module)
- Working with os module
- Working with datetime and time module
- Working with re module
- Http.server (small intro)
- Urllib (small intro)
- XML parser (small intro)
-
Session 11 (TBA)
- REST API
- Introduction to flask (APIs)
- Introduction to Requests library
- Intro to Authentication & Authorization
-
Sesseion 12 (TBA)
- Unit testing
- Logging
- Mocking
- Fixtures
-
Session 13 (TBA)
- Ftplib (for FTP)
- Subprocess module
- Paramiko
-
Session 14 (TBA)
- Cron jobs using Python
- Health check and alerts using Python
- Intro to CLI frameworks (cement)
-
Session 15 (TBA)
- Intro to multithreading
-
Session 16 (TBA)
- Multiprocessing library