Custom Advanced Python Programming 2019.10.16
Target Audience
- This is an advanced Python course suitable for people who already have Python programming background.
Prerequisites
- Beginner Python course
- Experience with the basics of Python
Objectives
- To master the rich set of Python libraries and modules.
- Use Object Oriented programming techniques.
- Use various advanced programming techniques available in Python.
Course Format
- Duration of the course is 40 academic hours. (5 days 9:00-17:00).
- The course includes approximately 40% hands on lab work.
Syllabus
- Collection types and operators
- Lists
- List slices
- Tuples
- Dictionaries (hashes)
- Sets
- Sorting
- Queues
- Stack
- Collections
- Mutable and immutable
- Data types advanced programming techniques
- Advanced uses of built-in data types (including slices on sequences).
- Functional programming (lambda, map, reduce, filter, zip).
- Comprehensions (list, dictionary, and set).
- Object Oriented Programming in Python
- Objects in Python
- Classes
- Instances
- Scoping issues
- Class methods
- Instance methods
- Properties
- Overloading (with and without the operator module).
- Iterators and Generators
- Iterators (including sorted and reversed, and use of itertools)
- Generators (including generator comprehensions and pipelines)
- Decorators
- Advanced programming techniques
- Unit Test Framework (brief introduction)
- The 'with' statement
- Design patterns
- Optimizations
- Optimizing Python code
- Parallel processing
- Forks to processes and threads
- Asynchronous programming in Python
- Memory usage
- Complexity Analyzis
- Profiling code to find the bottleneck
- Case Study: Reducing run-time from 24 hours to 5 minutes
- Error and Exception handling
- Creating non-fatal warnings
- Catching exceptions
- Handling exceptions
- Throwing a new exception
- The final block
- Creating your own exception
- Integration with .NET
- Using .NET classes from Python
- Parameter passing to .NET methods
- Distributing Python-based applications
- Distributable package in source code
- Distributable compiled Python libraries
- Stand-alone executable binaries
- The Scientific libraries
- NumPy (Array, Transformations)
- Pandas (Series, Data Frames, Panels, API)
- SciPy
- Visualization and Plotting including 3D with Matplotlib and Seaborn
- Comparing with Matlab and R
- Integrating Python with Matlab
Contact
Contact: Gabor Szabo gabor@hostlocal.com
Phone: +972-54-4624648