Die Funktion my_func erhält ein Argument, das ganze oder eine Klasse sein könnte:Python - Wie Bewertung von Klassenobjekt explizit ändern?
class SomeClass:
val = 0
def __init__(self):
self.val = 0
def set(self, val):
self.val = val
def get(self):
return self.val
und ich möchte mit beiden Typen als arbeiten. Kann ich Python irgendwie explizit mitteilen, dass die Auswertung eines Objekts vom Typ SomeClass das Feld val des Objekts zurückgeben soll, aber nicht das Objekt selbst.
Das bedeutet, die folgenden Code Arbeit (irgendwie) zu erhalten:
s = SomeClass()
s.set(3)
test = s # this line should assign value 3(int) to test
test # prints 3
Dank Martijn scheint es Vorrang __int__ Methode ist was ich brauche. Wenn mein arg1 könnte sein, oder integer oder Someclass-Objekt mit implementierter __int__ Methode, also wenn ich tue: my_arg = int (arg1) Ich werde den Integer-Wert sowieso bekommen und dann kann ich mit my_arg arbeitet nur. –