Python For CTS Automation Framework Training Course
Simeon has been been a software developer for a decade and a half with expertise in many old and annoying technologies like Visual Basic, Delphi, Perl and PHP. In 2007 while working as the lead developer for a web design firm he discovered Python and liked it so much he quit his job to use it!
Since then his career as a developer has been particularly focused on "big data" web applications but Python and Django have remained his favorite tools of choice.
1. Flow of control, types, and exception handling.
- Flow of control: if, for, while
- Lists. This would cover creation, list methods, "in" operator and slicing mini-language eg lst[2:10:2])
- Dicts (creation, .get(), .keys(), .values(), items(), and in operator)
- Error handling and exceptions. We'll cover just the simplest try/except/finally style and discuss how exceptions traverse the calling stack.
- List comprehensions. Vital python syntax for filtering and transforming lists.
2. Functions and modules.
- Function declaration, default values, *args and **kwargs
- Calling functions with variable unpacking using *args and **kwargs
- Libraries and modules: the import statement and all its variants, using __init__.py to create our own packages, understanding global, function, and module level namespaces.
3. Creating and extending classes.
- Class statement and __init__ "constructor".
- Usage of self and Class and object namespaces. Object member functions and variables.
- Inheritance and extension. MRO (Method Resolution Order) and super()
- Emulation or operator overloading via dunderscore methods. Examples with __str__, __cmp__, etc.
- Access control via properties.
4. Python's STDLIB
- Overview and resources discussion (Doug Hellman's PyMOTW).
- Maintaining python code: debugging using PDB, excutable documentation with doctest, reading stacktraces in case of error