Home › coding › python › py dataclasses

Py Dataclasses — Free Python Tutorial

Learn Py Dataclasses in Python with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.

✓ 100% Free ✓ No Login Needed ✓ NCERT / CBSE Aligned ✓ Download as PDF

TL;DR: Learn Py Dataclasses in Python with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.

Written & reviewed by the Syllab.in Academic Team (CBSE/NCERT subject experts) · Updated Jul 14, 2026

🤖 Stuck on any question? Ask Syllab's free AI Tutor for a step-by-step explanation — instant, unlimited, no login.

Py Dataclasses in Python

@dataclass is a Python 3.7+ decorator that automatically generates __init__, __repr__, and __eq__ for a class based on annotated fields. It removes boilerplate code.

Fields with default values must come after fields without defaults. Use field() from dataclasses for complex defaults like mutable objects (lists/dicts).

frozen=True creates immutable dataclasses (like tuples with names). order=True adds comparison methods (__lt__, __gt__) based on field order.

Dataclasses are ideal for data containers: configuration objects, database records, API response models — anywhere you need a simple class to hold data.

Py Dataclasses — Syntax

from dataclasses import dataclass, field

@dataclass
class Student:
    name: str
    marks: int
    grade: str = "N/A"         # default value
    subjects: list = field(default_factory=list)  # mutable default

Learn Py Dataclasses step by step with Syllab's free interactive Python tutorial — runnable code examples, practice exercises and instant AI feedback, all free with no signup. Explore the full Python course →

Explore:

  • Syllabus
  • Practice
  • Mock Tests
  • NCERT Solutions
  • Coding
  • GK Quiz
  • Career Predictor
  • AI Tutor
  • Live Quiz
  • Doubt Solver
  • Microlearning
  • Free Alternatives
  • Kids Zone
  • Study Room
  • Calculators
  • Worksheets

Syllab.in — Free learning for Indian students, Class 1–12