Python is an interpreted, dynamically (but strongly) typed, and garbage-collected general programming language that has become extremely popular due to its readability, low barrier for entry, and exceptionally deep ecosystem of libraries and tools. Python is object-based, but is inherently multi-paradigm and has drawn together influences from a wide range of programming languages, including ABC, Haskell, Lisp, and Modula-3. It is ideal for prototyping and ad-hoc tasks, but also sees wide use in scientific computing, web development, and automation.
Below are concepts that were extracted/identified in Python based on Exercism's V2 exercises. Resources used include:
"Pythonic"/Python Community
Concepts Introduced in the "Basics" Exercise (_Guido's Gorgeous Lasagna_):
-
- TODO: Explain # syntax in Python
-
Statements
- TODO: Explain the importance of statements in Python
Concepts needed for a good working understanding of the language
Current "Core" Concepts:
-
Numbers
-
- TODO: Discuss the interactive Python interpreter
-
Type conversion TODO: Casting between types in Python can be a bit unclear; this will need expansion
Concepts needed for a deeper understanding/fluency
"Intermediate" Concepts
-
Aliasing
-
Context managers
-
- TODO:
functools.partial
- TODO:
-
- TODO: explain limitations of recursion in Python, ie
RecursionLimit
- TODO: explain limitations of recursion in Python, ie
OOP-Specific/Class Oriented Concepts
-
- Meta Classes
- [Virtual Base Classes]
- [Abstract Base Classes]
- [
.__subclasshook__()
] - [
.register()
]
- Duck Typing
- Meta Classes
(These are probably outside scope of an Exercism Concept exercise, but might make good longer/practice exercises that receive mentoring)
Advanced/Specialized Concepts
These datatypes will very rarely be encountered in the wild, the first because it's more of an internal implementation detail and the second because it's hyper-specific:
Expect information to be updated as larger concepts are broken down or additional concepts/exercises are identified.
See the Python Exercises page for committed/planned on website concept & practice exercises.