Python — Fibonacci (dataclass, generator, type hints)
A realistic Python snippet exercising type hints, an lru_cache-memoised recursive function, a generator, and a frozen dataclass — for testing syntax highlighters, linters (ruff/flake8), and formatters (black).
#!/usr/bin/env python3
"""Fibonacci utilities: a memoised recursive form and an iterative generator."""
from __future__ import annotations
from dataclasses import dataclass
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n: int) -> int:
"""Return the n-th Fibonacci number (0-indexed)."""
if n < 0:
raise ValueError("n must be non-negative")
if n < 2:
return n
return fib(n - 1) + fib(n - 2)
def fib_sequence(count: int):
"""Yield the first `count` Fibonacci numbers, iteratively."""
a, b = 0, 1
for _ in range(count):
yield a
a, b = b, a + b
@dataclass(frozen=True)
class Report:
count: int
total: int
def average(self) -> float:
return self.total / self.count if self.count else 0.0
def main() -> None:
seq = list(fib_sequence(10))
report = Report(count=len(seq), total=sum(seq))
print(f"sequence: {seq}")
print(f"fib(20) = {fib(20)}")
print(f"average of first {report.count}: {report.average():.1f}")
if __name__ == "__main__":
main()
Specifications
- Language
- Python
- Kind
- realistic snippet
- Lines
- 45
- Encoding
- UTF-8
- Line Endings
- LF
Testing contract
Expected to pass- Scenario
- Run the file and check the three lines it prints, then re-run a linter and formatter over it.
- Expected result
- It prints the first ten Fibonacci numbers `[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]`, then `fib(20) = 6765`, then `average of first 10: 8.8`; the frozen dataclass, the lru_cache decorator and the generator all resolve, and `fib(-1)` raises ValueError.
What is a .py file?
Python (.py) is a plain-text source file for the Python programming language — a dynamically typed, indentation-structured language widely used for scripting, data science, web back-ends, and automation. A .py file is compiled to bytecode and run by the Python interpreter.
How to use this file
Use an example .py file to test syntax highlighters, linters (like flake8 or ruff), formatters (black), tree-sitter grammars, and language-detection or code-editor tooling against known-correct source.
How to use this file for testing
“Python — Fibonacci (dataclass, generator, type hints)” is a deterministic Novus Examples fixture for Syntax highlighting, Code parsing, Editor testing. Idiomatic hello-world programs and realistic snippets across sixteen languages, exercising comments, string escapes, interpolation, numeric literals, and language keywords — for testing syntax highlighters, editor themes, and tree-sitter grammars.
Documented properties for this file: Python · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
This is a short, known-correct source file. Run it through your syntax highlighter, linter, formatter, tree-sitter grammar, or parser, and open it in the in-browser editor to tweak and re-download. Each snippet exercises comments, string escapes, literals, and language keywords.
Code examples
python fibonacci.pyRelated files
- pyPython — Hello WorldThe classic hello-world in idiomatic Python 3, with a shebang, a module docstring, and the standard main guard — the minimal correct program for testing highlighters and interpreters.

- pyPython Async GatherTiny asyncio gather stub for async Python tooling.

- pyPython Dataclass SAMPLEPython dataclass SAMPLE for highlighter and type-checker smoke tests.

- pyPython Lint Invalid — Bare Except InvalidIntentionally lint-bait SAMPLE python snippet (bare-except-invalid) for rule-engine tests.

- pyPython Lint Invalid — Unused Import InvalidIntentionally lint-bait SAMPLE python snippet (unused-import-invalid) for rule-engine tests.

- cC — Hello WorldThe classic hello-world in C — an include, main, and printf — for testing highlighters, C compilers, and parsers against the canonical first program.

Generated by generation/code_samples.py. Free for any use, no attribution required — license.