Dataclasses & What are they for - Deepstash
Machine Learning With Google

Learn more about computerscience with this collection

Understanding machine learning models

Improving data analysis and decision-making

How Google uses logic in machine learning

Machine Learning With Google

Discover 95 similar ideas in

It takes just

14 mins to read

Dataclasses & What are they for

Dataclasses & What are they for

Dataclasses are an implementation of a code generator, similar to a Named Tuple.

The idea of using a code generator is to save time and reduce wordiness.

There are two views about the purpose of Dataclasses:

  1. It makes a mutable data holder, in the spirit of named tuples
  2. It writes boiler-plate code for you, simplifying the process of writing the class

These 2 world views are reflected in the name: “Dataclasses”

Per the dataclasses PEP, they are roughly a “Mutable named tuple with defaults”

They provide an elegant syntax for creating data holder objects

5

40 reads

MORE IDEAS ON THIS

A Complex Example of using Dataclasses

A Complex Example of using Dataclasses

In the image example, the generated code includes:

  • typed attributes
  • hidden attributes from __repr__ response
  • custom __hash__ dunder with the selected fields
  • attribute with default factory value in __init__ constructor

5

32 reads

Generated Code Includes

  • Dunder methods like init, repr, eq, lt, le, etc.
  • Frozen nature by generating dunder methods for __setattr__ and __delattr__
  • Class variables for the provided attributes

The code generation can be configured by providing keyword a...

5

21 reads

RAYMOND HETTINGER

If you have an immutable mind get out!

RAYMOND HETTINGER

5

40 reads

Comparison with Named Tuples

Comparison with Named Tuples

  • Dataclasses are by default mutable
  • Named Tuples have methods which start with an underscore which can be confusing. Ex: obj._replace...

5

21 reads

A History Lesson

A History Lesson

In the beginning there where:

  • dicts for look-ups
  • tuples for structures
  • hand-written classes for more functionality

Later Named Tuples where added as a code generator with the goal of adding ...

5

28 reads

CURATED FROM

CURATED BY

pvl

Backend @deepstash

I started using Dataclasses and I think you should too

Related collections

More like this

What are two-way data binding and one-way data flow, and how are they different?

Good to hear:  

  • React is the new Canonical example of one-way data flow. Cycle.js is another popular implementation of uni-directional data flow.
  • Angular is a popular framework which uses two-way binding. 

Difference between radios used for WiFi and cell phones

Radios used for WiFi connections are similar to radios used for walkie-talkies or cellphones - they transmit and receive radio waves. They can change 1s and 0s into radio waves or from radio waves to 1s and 0s.  

WiFi radios have some differences.

  • They transmit at much higher fre...

Computational Artefacts

  • The modern computer is a hierarchically organized system of computational artefacts.
  • Hierarchical organization is a means of managing the complexity of an entity.
  • Computational artefacts are made things; they process symbol structures signifying information,...

Read & Learn

20x Faster

without
deepstash

with
deepstash

with

deepstash

Access to 200,000+ ideas

Access to the mobile app

Unlimited idea saving & library

Unlimited history

Unlimited listening to ideas

Downloading & offline access

Personalized recommendations

Supercharge your mind with one idea per day

Enter your email and spend 1 minute every day to learn something new.

Email

I agree to receive email updates