Struct

2 snippets in Python

PYPython

Named Tuples

PY · Tuples & Sets
Syntax
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
Example
from collections import namedtuple

Color = namedtuple("Color", ["red", "green", "blue"])
sky = Color(135, 206, 235)
print(sky.red, sky.blue)
print(sky._asdict())
Output
135 235
{'red': 135, 'green': 206, 'blue': 235}

Note Named tuples give readable field access while staying immutable. For mutable fields or defaults, consider dataclasses instead.

Dataclasses

PY · Classes & OOP
Syntax
from dataclasses import dataclass
@dataclass
class Name:
    field: type
Example
from dataclasses import dataclass, field

@dataclass
class Product:
    name: str
    price: float
    tags: list[str] = field(default_factory=list)

    @property
    def display_price(self) -> str:
        return f"${self.price:.2f}"

p = Product("Widget", 9.99, ["sale"])
print(p)
print(p.display_price)
Output
Product(name='Widget', price=9.99, tags=['sale'])
$9.99

Note Dataclasses auto-generate __init__, __repr__, and __eq__. Use field(default_factory=list) for mutable defaults, never a bare [] as a default.

Frequently asked questions

How does Python handle struct?
Python covers this with 2 copy-ready snippets on this page. The "Named Tuples" snippet in Python uses `from collections import namedtuple`.
Which code does the Python example use?
The "Named Tuples" snippet uses `from collections import namedtuple`, from the Tuples & Sets section of the Python cheat sheet.
What other Python snippets are shown for "struct"?
Besides "Named Tuples", this page also shows "Dataclasses".
Is there anything to watch out for?
Yes. For "Named Tuples": Named tuples give readable field access while staying immutable. For mutable fields or defaults, consider dataclasses instead.