Python Developer Terminology Cheat Sheet - dtoinagn/flyingbird.github.io GitHub Wiki
โ
Core Language Features
- PEP โ Python Enhancement Proposals (e.g., PEP 8, PEP 484)
- GIL (Global Interpreter Lock) โ Important for CPython concurrency
- Duck Typing โ Type inferred by behavior, not class
- Generators &
yield
โ Lazy iterators, memory-efficient
- Decorators โ Modify function/class behavior using
@
- Context Managers (
with
) โ Automatic setup/cleanup (__enter__
, __exit__
)
- Comprehensions โ List, dict, set, generator expressions
- F-Strings โ
f"Hello, {name}"
- Walrus Operator (
:=
) โ Assignment in expressions
- Unpacking โ
a, b = some_tuple
- Enums โ Symbolic constants (
Enum
class)
- Data Classes โ Simplified class boilerplate (
@dataclass
)
__slots__
โ Memory optimization for class attributes
- Abstract Base Classes (ABC) โ Interfaces in Python
๐ Control Flow & Iteration
for
, while
, break
, continue
, else
on loops
- Iterators vs Iterables โ Implements
__iter__
and __next__
zip()
, map()
, filter()
โ Functional tools
any()
, all()
, enumerate()
๐งฐ OOP and Functional Programming
- MRO (Method Resolution Order) โ Lookup order in inheritance
- Descriptors โ
__get__
, __set__
, __delete__
@property
โ Attribute access control
- Closures โ Functions capturing enclosing scope
- Higher-Order Functions โ Functions that take/return functions
functools.partial
โ Pre-fill arguments
- Callable Classes โ Implement
__call__
๐ข Data Structures
- Built-ins โ
list
, tuple
, dict
, set
, frozenset
- collections module:
Counter
, deque
, defaultdict
, OrderedDict
, namedtuple
, ChainMap
heapq
โ Heap/priority queue
bisect
โ Binary search helpers
๐งต Concurrency & Parallelism
- Threading vs Multiprocessing
asyncio
, async def
, await
- Futures / Executors / Event Loop
- Coroutines / Tasks
- GIL implications
- Libraries:
aiohttp
, Trio
, Curio
๐งช Testing and Debugging
- Testing:
unittest
, pytest
, doctest
- Mocking:
unittest.mock
- Fixtures, Assertions
- Coverage tools:
coverage.py
- Debuggers:
pdb
, ipdb
๐ฆ Packaging & Environments
- Virtual Environments:
venv
, virtualenv
, pipenv
, poetry
- Project Setup:
setup.py
, pyproject.toml
- Editable Installs:
pip install -e .
- Namespaces &
__init__.py
- Wheel vs Source Distribution
- Entry Points
๐ ๏ธ Tooling & DevOps
- Linters:
flake8
, pylint
- Formatters:
black
, autopep8
- Type Checkers:
mypy
, pyright
- Import Sorters:
isort
- Security Audits:
bandit
- Task Automation:
tox
, nox
- Docker / CI/CD
๐ Typing & Static Analysis
- Type Hints โ
def f(x: int) -> str
typing
Module:
List
, Dict
, Union
, Optional
, Literal
, Callable
, Protocol
, Final
- Generics & TypeVar
TypedDict
, NewType
- Structural vs Nominal Typing
๐ Performance & Memory
- Profiling:
cProfile
, line_profiler
, memory_profiler
- Big-O Notation
functools.lru_cache
โ Memoization
- MemoryView / Buffer Protocol
- Reference Counting & Garbage Collection (GC)
๐ Serialization & Data Handling
- Built-in:
json
, pickle
, marshal
, csv
, xml
- 3rd Party:
PyYAML
, ujson
- Structured Formats: Avro, Protobuf
- S3 / Pandas / NumPy / HDF5
๐ Networking & Web
- HTTP Clients:
requests
, httpx
, aiohttp
- Frameworks: Flask, FastAPI, Django
- WSGI / ASGI
- Sockets / WebSockets
๐ Data Science / ML (Optional)
- Pandas, NumPy, Matplotlib, Seaborn
- Scikit-learn
- PyTorch / TensorFlow
- SageMaker SDK, Feature Store
- Glue / PySpark
๐ Design Patterns
- Factory, Singleton, Observer, Decorator, Strategy
- Command, Repository
- Context Object