Python is a clear and powerful object-oriented programming language with an elegant and easy-to-read syntax. It is ideal for prototyping and ad-hoc tasks, but also sees wide use in scientific computing, web development, and automation.
Elevate your Python skills through 161 curated exercises across 21 core concepts. Master problem-solving with a structured learning path designed for modern developers.
Python is a dynamic and strongly typed object-oriented programming language. It employs both duck typing and gradual typing (via type hints). It supports multiple programming paradigms including imperative (object-oriented, procedural) and declarative (functional, concurrent) flavors. But do not be fooled: while programming across paradigms is fully supported, everything in Python is an object.
Python was created by Guido van Rossum and first released in 1991. The Python Software Foundation manages and directs resources for Python and CPython development and receives proposals for changes to the language from members of the community via Python Enhancement Proposals or PEPs. It is considered a strong language for programmers starting their journey, with a welcoming community and many resources available to learners of all levels and persuasions.
Python puts a strong emphasis on code readability and (similar to Haskell) uses significant indentation to denote function, method, and class definitions. Code can be written and executed from the command line, in an interactive interpreter session, in JupyterLab (Jupyter notebook), or a wide variety of code editors and IDEs.
Python is used extensively in scientific computing, finance, games, networking, internet development, and in assembling pipelines of other programs.
The zen of Python (PEP 20) and What is Pythonic? lay out additional philosophies and perspectives on the language.
Tests and tooling for this track currently support 3.10 - 3.13.5 (tests) and Python 3.13.5 (tooling).
It is highly recommended that students upgrade to at least Python 3.10, as some features used by this track may not be supported in earlier versions.
That being said, most of the exercises will work with Python 3.6+, or even earlier versions.
But we don't guarantee support for versions not listed under Active Python Releases.
We will try to note when a feature is only available in a certain version.
Complete documentation for the current release of Python (3.13.x) can be found at docs.python.org.
Batteries Included
Epic & well-documented standard library. Need more? Use a PyPi package - there's one for everything.
Easy
Human-friendly Syntax and a vibrant, supportive community. Quick to learn & intuitive to use.
Extensible
Need to call Fortran from a web API? Done. Need to process images using C? Python can do that.
Flexible
Duck, dynamic, & strong typing. Easy to debug. Fun for experiments, robust for large applications.
Multi-paradigm
OOP, structured, functional, & aspect-oriented. Adaptable to how you structure your programs.
Ubiquitous
Accepted for almost any use. Easily interface with other languages & execute almost everywhere.
Batteries Included
Epic & well-documented standard library. Need more? Use a PyPi package - there's one for everything.
Easy
Human-friendly Syntax and a vibrant, supportive community. Quick to learn & intuitive to use.
Extensible
Need to call Fortran from a web API? Done. Need to process images using C? Python can do that.
Flexible
Duck, dynamic, & strong typing. Easy to debug. Fun for experiments, robust for large applications.
Multi-paradigm
OOP, structured, functional, & aspect-oriented. Adaptable to how you structure your programs.
Ubiquitous
Accepted for almost any use. Easily interface with other languages & execute almost everywhere.