7.擅用 dataclass 程式碼能夠更簡潔!

2023年12月27日

💎 加入 E+ 成長計畫 與超過 350+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源

看一個程式碼就能快速瞭解 dataclass 的用法!

class TStudent:
 def __init__(self, name: str, age: int):
  self.name = name
  self.age = age
def __repr__(self):
  return f"TStudent(name={self.name}, age={self.age})"
t_student = TStudent(“Alice”, 20)
print(t_student)

上面是我們過去很常會寫出的程式碼,在初始化時會需要重新定義,並且要自己定義 __repr__ 函式,而下面有更簡潔的寫法:

from dataclasses import dataclass
@ dataclass
class Student:
 name: str
 age: int
student = Student(“Bob”, 21)
print(student)

而用 dataclass 寫的好處為:

  1. 簡化程式碼:dataclass 自動為你生成特殊方法,如 init()、repr() 和 eq()。這意味著你可以避免編寫這些通常模板化的方法,從而減少程式碼冗餘。
  2. 易於理解和使用:dataclass 使程式碼更加清晰和易於理解。由於它自動生成方法,因此可以減少錯誤,並保持程式碼整潔。
  3. 類型提示:dataclass 與類型提示完美結合。你可以為每個字段提供類型注解,這有助於程式碼的可讀性和維護性。
  4. 擴展性和靈活性:dataclass 還支持如繼承和自定義方法等高級功能,讓你能夠創建複雜的數據結構,同時保持程式碼的簡潔性。
🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們