33 lines
775 B
Python
33 lines
775 B
Python
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class Konto:
|
|
inhaber: str
|
|
saldo: float
|
|
|
|
def __init__(self, inhaber: str, saldo: float):
|
|
if not inhaber:
|
|
raise ValueError("inhaber is required")
|
|
if saldo < 0:
|
|
raise ValueError("saldo must be positive")
|
|
object.__setattr__(self, "inhaber", inhaber)
|
|
object.__setattr__(self, "saldo", saldo)
|
|
|
|
def einzahlen(self, betrag: float):
|
|
object.__setattr__(self, "saldo", self.saldo + betrag)
|
|
|
|
def abheben(self, betrag: float):
|
|
object.__setattr__(self, "saldo", self.saldo - betrag)
|
|
return betrag
|
|
|
|
|
|
k1 = Konto("Alice", 100.0)
|
|
k2 = Konto("Housi", 10)
|
|
k2.einzahlen(100)
|
|
|
|
print(k1.inhaber)
|
|
print(k2.saldo)
|
|
print(k1 is k2)
|
|
print(k1)
|