Als «getattr» getaggte Fragen


14
Was ist getattr () genau und wie verwende ich es?
Ich habe kürzlich über die getattr()Funktion gelesen . Das Problem ist, dass ich die Idee seiner Verwendung immer noch nicht verstehen kann. Das einzige, was ich verstehe, getattr()ist, dass getattr(li, "pop")es dasselbe ist wie anrufen li.pop. Ich habe nicht verstanden, wann in dem Buch erwähnt wurde, wie Sie damit einen …
295 python  getattr 

4
Den Unterschied zwischen __getattr__ und __getattribute__ verstehen
Ich versuche den Unterschied zu verstehen __getattr__und __getattribute__versage es jedoch. Die Antwort auf die Frage zum Stapelüberlauf Der Unterschied zwischen __getattr__vs__getattribute__ lautet: __getattribute__wird aufgerufen, bevor die tatsächlichen Attribute des Objekts angezeigt werden, und kann daher schwierig zu implementieren sein. Sie können sehr leicht in unendliche Rekursionen geraten. Ich habe absolut …


4
Wie rufe ich setattr () für das aktuelle Modul auf?
Was übergebe ich als ersten Parameter " object" an die Funktion setattr(object, name, value), um Variablen auf dem aktuellen Modul zu setzen? Beispielsweise: setattr(object, "SOME_CONSTANT", 42); den gleichen Effekt geben wie: SOME_CONSTANT = 42 innerhalb des Moduls, das diese Zeilen enthält (mit der richtigen object). Ich generiere dynamisch mehrere Werte …

8
__getattr__ auf einem Modul
Wie kann das Äquivalent von a __getattr__in einer Klasse, in einem Modul implementiert werden? Beispiel Wenn ich eine Funktion aufrufe, die in den statisch definierten Attributen eines Moduls nicht vorhanden ist, möchte ich eine Instanz einer Klasse in diesem Modul erstellen und die Methode mit demselben Namen aufrufen, der bei …

6
Wie implementiere ich __getattribute__ ohne einen unendlichen Rekursionsfehler?
Ich möchte den Zugriff auf eine Variable in einer Klasse überschreiben, aber alle anderen normal zurückgeben. Wie schaffe ich das mit __getattribute__? Ich habe Folgendes versucht (was auch veranschaulichen sollte, was ich versuche), aber ich erhalte einen Rekursionsfehler: class D(object): def __init__(self): self.test=20 self.test2=21 def __getattribute__(self,name): if name=='test': return 0. …
100 python  class  oop  recursion  getattr 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.