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