Python: Programming Efficiently
2h 19mIntermediate2020-10-02
Authors

Michele Vallisneri
Theoretical Astrophysicist at NASA Jet Propulsion Laboratory
Course details
Cut down on your development time by learning how to write elegant code in an efficient manner, specifically in Python—the popular and pragmatic computer language. Michele Vallisneri explains how to make your Python code more expressive and concise, and leverage the most powerful features of the language. He shines a spotlight on some of the strongest third-party packages you can take advantage of, discusses object-oriented and functional programming, and shares strategies for improving the performance of your code. Michele illustrates these concepts with many intriguing examples, showing how to make 3D images and animations of the sun, draw fractals, implement a graphical programming language, and more.
Skills covered
PythonProgramming LanguagesOpen SourceSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Programming efficiently with Python
- 02 - Base knowledge
1. Installation and Setup
- 03 - Install the Anaconda Python distribution on macOS X
- 04 - Install the Anaconda Python distribution on Windows
- 05 - Work with Jupyter Notebooks
2. Writing Python Efficiently
- 06 - Writing Python efficiently
- 07 - Python vs. C
- 08 - Design efficient loops
- 09 - Comprehensions and generators
- 10 - Exploit Python collections
- 11 - Write Pythonic code
- 12 - Challenge - Analyze Olympic medalist data
- 13 - Solution - Analyze Olympic medalist data
3. Leveraging Python Libraries
- 14 - Choose the best libraries for your task
- 15 - Download webpages with requests
- 16 - Manipulate images with Pillow
- 17 - Parse HTML with Beautiful Soup
- 18 - Make movies with Matplotlib
- 19 - Serve webpages with Flask
- 20 - Challenge - Image-editing application
- 21 - Solution - Image-editing application
4. Efficient Python with Object-Oriented and Functional Programming
- 22 - Object-oriented and functional Python
- 23 - Divide and conquer with Python classes
- 24 - Exploit class inheritance
- 25 - Functional techniques in Python
- 26 - Function decorators
- 27 - Challenge - Bale of turtles
- 28 - Solution - Bale of turtles
5. Performance Optimization in Python
- 29 - Computer architecture and optimization techniques
- 30 - Time profiling
- 31 - Memory profiling
- 32 - Algorithm complexity
- 33 - Introduction to parallel programming
- 34 - Challenge - Inverted index
- 35 - Solution - Inverted index
Conclusion
- 36 - Keep taking advantage of Python
Related courses
- Python for Data Science and Machine Learning Essential Training Part 1
- Artificial Intelligence Foundations: Neural Networks
- Build with AI: AI-Powered Dashboards with Streamlit
- Build with AI: LLM-Powered Data Analysis App with Python and Streamlit
- Complete Guide to Analytics Engineering
- Build with AI: LLM-Powered Applications with Streamlit
- Hands-On AI: Building Your First LLM-Powered App
- Advanced Geospatial Data Analytics in Python