TGViewer
Machine Learning with Python Machine Learning with Python @codeprogrammer · 68.6K subscribers
Post #4455 7.68K
Tip for clean code in Python:

Use Dataclasses for classes that primarily store data. The @dataclass decorator automatically generates special methods like __init__(), __repr__(), and __eq__(), reducing boilerplate code and making your intent clearer.

from dataclasses import dataclass

# --- BEFORE: Using a standard class ---
# A lot of boilerplate code is needed for basic functionality.

class ProductOld:
def __init__(self, name: str, price: float, sku: str):
self.name = name
self.price = price
self.sku = sku

def __repr__(self):
return f"ProductOld(name='{self.name}', price={self.price}, sku='{self.sku}')"

def __eq__(self, other):
if not isinstance(other, ProductOld):
return NotImplemented
return (self.name, self.price, self.sku) == (other.name, other.price, other.sku)

# Example Usage
product_a = ProductOld("Laptop", 1200.00, "LP-123")
product_b = ProductOld("Laptop", 1200.00, "LP-123")

print(product_a) # Output: ProductOld(name='Laptop', price=1200.0, sku='LP-123')
print(product_a == product_b) # Output: True


# --- AFTER: Using a dataclass ---
# The code is concise, readable, and less error-prone.

@dataclass(frozen=True) # frozen=True makes instances immutable
class Product:
name: str
price: float
sku: str

# Example Usage
product_c = Product("Laptop", 1200.00, "LP-123")
product_d = Product("Laptop", 1200.00, "LP-123")

print(product_c) # Output: Product(name='Laptop', price=1200.0, sku='LP-123')
print(product_c == product_d) # Output: True


#Python #CleanCode #ProgrammingTips #SoftwareDevelopment #Dataclasses #CodeQuality

━━━━━━━━━━━━━━━
By: @CodeProgrammer ✨
  • ❤ 9
  • 🎉 1
More from @codeprogrammer
  1. Oct 10, 2026📚 Download 10 Python books for FREE: 1. Think Python — O’Reilly https://t.co/X7y3pX68IW 2…
  2. Oct 9, 2026One of the key moments when I truly understood how transformers work: 🧠✨ "Stop thinking o…
  3. Oct 9, 2026🔖 Official PyTorch Tutorials This collection includes: 🫡 PyTorch fundamentals and torch.…
  4. Oct 7, 2026A distinctive bot for subscribing to courses on the most popular educational platforms acr…
  5. Oct 7, 2026Understanding algorithms changes the way you write code. 🧠 This playlist teaches you exac…
  6. Oct 6, 2026🛠 Built an AI app with Cursor, Claude Code or Lovable? Publish it on Zibby (zibby.run), a…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →