timmy / 使用 dataclass 定義資料類別

0 gustos
0 bifurcaciones
4 archivos
Última actividad 9 months ago
dataclass 提供簡潔的方式來定義類別,適用於需要 存儲資料、簡化初始化、提升可讀性 的場景,例如 設定管理、數據建模、API 資料結構。
1 from dataclasses import dataclass
2
3 @dataclass
4 class User:
5 name: str
6 age: int
7 email: str
8
9 # 建立實例
10 user = User(name="Tim", age=30, email="tim@example.com")

timmy / 使用 ABC 定義抽象類別

0 gustos
0 bifurcaciones
1 archivos
Última actividad 9 months ago
ABC(Abstract Base Class)允許定義抽象類別,強制子類別實作特定方法,適用於建立統一的介面規範,確保繼承的類別都遵守特定的行為。
1 from abc import ABC, abstractmethod
2
3 # 定義抽象類別
4 class Animal(ABC):
5 @abstractmethod
6 def make_sound(self) -> str:
7 """所有動物都必須實作此方法"""
8 pass
9
10 # 繼承並實作抽象方法

timmy / 進階 Mixin 設計與用戶管理

0 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
此 Python 程式使用多個 Mixin,提供日誌記錄、時間標記、資料儲存、權限管理、事件監聽與異常處理功能,使 User 類別具備完整的資料管理與行為追蹤能力,適用於使用者管理與系統監控應用。
1 import datetime
2 import json
3 import traceback
4
5 class LoggingMixin:
6 """ 提供日誌功能的 Mixin 類別 """
7
8 def log(self, message):
9 """ 記錄日誌 """
10 timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

timmy / 進階 Mixin 設計與用戶管理

0 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
此 Python 程式使用多個 Mixin,提供日誌紀錄、時間標記、數據儲存與權限管理功能,適用於構建可擴展的用戶管理系統,提升代碼的模組化與可重用性。
1 import datetime
2
3 class LoggingMixin:
4 """ 提供日誌功能的 Mixin 類別 """
5
6 def log(self, message):
7 """ 簡單的日誌紀錄方法 """
8 timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
9 print(f"[{timestamp}] {self.__class__.__name__}: {message}")

timmy / 進階 Mixin 設計 (Advanced Mixin Design)

0 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
此 Python 程式透過 LoggingMixin 提供日誌功能,TimestampMixin 管理時間標記,並應用於 User 類別,使其具備自動記錄變更歷史的能力,適用於用戶管理、數據追蹤等應用。
1 import datetime
2
3 class LoggingMixin:
4 """ 提供日誌功能的 Mixin 類別 """
5
6 def log(self, message):
7 """ 簡單的日誌紀錄方法 """
8 timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
9 print(f"[{timestamp}] {self.__class__.__name__}: {message}")

timmy / LoggingMixin 日誌功能擴展

0 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
此 Mixin 類別為 Python 類別提供簡單的日誌紀錄功能,可用於追蹤物件的行為變化,適用於擴展任何需要日誌記錄的類別,如用戶管理、系統監控等應用。
1 import datetime
2
3 class LoggingMixin:
4 """ 提供日誌功能的 Mixin 類別 """
5
6 def log(self, message):
7 """ 簡單的日誌紀錄方法 """
8 timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
9 print(f"[{timestamp}] {self.__class__.__name__}: {message}")

timmy / Python Mixin 類別設計

1 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
這段程式碼展示了如何使用 Mixin 類別來提供額外功能。GraphicMixin 提供 draw() 方法,而 ColorMixin 提供 set_color() 方法,ColoredGraphic 繼承這兩個 Mixin,使其具備繪圖與設定顏色的功能。這種設計可以在不影響主要類別結構的情況下,為不同類別添加額外行為。
1 class GraphicMixin:
2 def draw(self):
3 print("Drawing the graphic")
4
5 class ColorMixin:
6 def set_color(self, color):
7 self.color = color
8 print(f"Setting color to {color}")
9
10 class ColoredGraphic(ColorMixin, GraphicMixin):

timmy / Python 類別與方法

0 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
這段程式碼定義了一個 GreetingClass 類別,內含兩個方法 say_hello() 和 say_goodbye(),用來回傳問候語。透過建立 greeter 物件,可以呼叫這些方法,並測試它們是否符合預期的輸出,適合作為 Python 類別與方法的基礎學習示例。
1 class GreetingClass:
2 name = "user"
3
4 def say_hello(self):
5 """Class method."""
6 return "Hello " + self.name
7
8 def say_goodbye(self):
9 """Class method."""
10 return "Goodbye " + self.name

timmy / 撲克牌類別設計

0 gustos
0 bifurcaciones
2 archivos
Última actividad 10 months ago
此 Python 程式碼定義了一個 Card 類別,用來表示撲克牌的花色 (suit) 和數字 (number)。該類別包含屬性驗證機制,以確保設定的數值符合撲克牌的標準。此外,程式碼還建立了兩張撲克牌,並透過 assert 來驗證對象的變更是否符合預期,可用於模擬撲克牌遊戲的基礎單元。
1 """
2 撲克牌
3 """
4
5
6 class Card: # 類別
7 """
8 撲克牌
9 """
Siguiente Anterior