Python For CTS Automation Framework Training Course
Course Summary
A two day advanced Python course for experienced programmers.[top] Duration
2 days.
[top] Audience
[top] Instructors
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.
For the last two years Simeon has been an expert instructor for Marakana, creating and teaching Python, Django, and client side Javascript courses for developers at technology giants like Cisco, Intel, and Facebook. He can be found hanging out and organizing the Python Community in the Bay Area at Baypiggies or SF Python Meetup and you can follow him on twitter @simeonfranklin or on his blog at simeonfranklin.com More about Simeon Franklin...
[top] Outline
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