Custom Advanced Python Programming 2019.10.16This, along with the other courses can be given either on-site in the offices of the client or on-line via Zoom or other means. Contact Gabor Szabo for more details.
- To master the rich set of Python libraries and modules.
- Use Object Oriented programming techniques.
- Use various advanced programming techniques available in Python.
- This is an advanced Python course suitable for people who already have Python programming background.
- Beginner Python course
- Experience with the basics of Python
- Duration of the course is 40 academic hours. (5 days 9:00-17:00).
- The course includes approximately 40% hands on lab work.
Collection types and operators
- List slices
- Dictionaries (hashes)
- 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
- Scoping issues
- Class methods
- Instance methods
- 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)
Advanced programming techniques
- Unit Test Framework (brief introduction)
- The 'with' statement
- Design patterns
- 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)
- Visualization and Plotting including 3D with Matplotlib and Seaborn
- Comparing with Matlab and R
- Integrating Python with Matlab
If you are interested in this course, contact Gabor Szabo for more details.