Ich habe eine Klasse mit einem Attribut, das irgendeine Zahl ist. Nun möchte ich diese Zahl verarbeiten. Dazu kann ich eine Methode definieren, die etwas mit dem Attribut macht. Der Nachteil ist, dass ich dann immer ein Objekt dieser Klasse erzeugen muss, um diese Methode zu verwenden. Ich würde diese Methode aber gerne auch mit beliebigen anderen Zahlen verwenden, ohne dass mir die Zahl über die Klasse geliefert wird. Daher nun folgender Ansatz:
Code: Alles auswählen
class Beispielklasse:
def __init__(self, zahl):
self.zahl = zahl
def quadrieren(zahl):
if isinstance(zahl, Beispielklasse):
zahl = zahl.zahl
return(zahl**2)
klasse = Beispielklasse(5)
variable = 6
print("Klassenattribut quadrieren: ", quadrieren(klasse))
print("Klassenattribut quadrieren, Attribut explizit angeben: ", quadrieren(klasse.zahl))
print("Eine Variable quadrieren: ", quadrieren(variable))
Funktionen tut es ja schon mal. Meine Frage: Ist das sinnvoll gelöst?