
Course Overview
The Advanced Python course aims to take attendees beyond basic Python. The course will enable attendees to produce more efficient, safer and maintainable code using standard Python idioms. The course assumes you are happy with core Python concepts and syntax.
PreRequisites
Delegates should have taken an introductory Python course or have six months of Python programming experience.
Course Content
OO Programming in Python
– classes/objects
– constructors/destructors
– methods instance/class
– inheritance/polymorphism
– abstract classes
– privacy/data hiding
– data attribute control
Meta Programming
– monkey patching
– meta classes
Functional Programming in Python
– map/filter/reduce
– decorators
– closures
– lambdas
– comprehensions
– generators
– use of yield
– the itertools module
Collections
– the collections module (defaultdict/Counter …)
– the array module
Data Transfer (Parsing/Generation)
– XML
– JSON
– YAML
Concurrency
– threads
– processes
– coroutines
Testing with pytest
Debugging with pdb
Potential Extra Topics
– socket programming
– integrating with C
– RESTful services