7.擅用 dataclass 程式碼能夠更簡潔!
2023年12月27日
💎 加入 E+ 成長計畫 如果你喜歡我們的內容,歡迎加入 E+,獲得更多深入的軟體前後端內容
看一個程式碼就能快速瞭解 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 寫的好處為:
- 簡化程式碼:dataclass 自動為你生成特殊方法,如 init()、repr() 和 eq()。這意味著你可以避免編寫這些通常模板化的方法,從而減少程式碼冗餘。
- 易於理解和使用:dataclass 使程式碼更加清晰和易於理解。由於它自動生成方法,因此可以減少錯誤,並保持程式碼整潔。
- 類型提示:dataclass 與類型提示完美結合。你可以為每個字段提供類型注解,這有助於程式碼的可讀性和維護性。
- 擴展性和靈活性:dataclass 還支持如繼承和自定義方法等高級功能,讓你能夠創建複雜的數據結構,同時保持程式碼的簡潔性。