Als «magic-methods» getaggte Fragen

Magische Methoden werden implizit von einer Programmiersprache aufgerufen, wenn ein Ereignis oder ein Sprachkonstrukt verwendet wird.


14
Python __call__ spezielle Methode praktisches Beispiel
Ich weiß, dass die __call__Methode in einer Klasse ausgelöst wird, wenn die Instanz einer Klasse aufgerufen wird. Ich habe jedoch keine Ahnung, wann ich diese spezielle Methode verwenden kann, da man einfach eine neue Methode erstellen und dieselbe Operation ausführen kann, die in __call__method ausgeführt wird, und anstatt die Instanz …

7
Warum verwendet Python "magische Methoden"?
Ich habe in letzter Zeit mit Python herumgespielt, und eine Sache, die ich etwas seltsam finde, ist die weit verbreitete Verwendung von 'magischen Methoden', z. B. um seine Länge verfügbar zu machen, ein Objekt implementiert eine Methode def __len__(self), und dann wird es aufgerufen, wenn Sie schreiben len(obj). Ich habe …

3
Wie funktioniert python numpy.where ()?
Ich spiele mit numpyund stöbere in der Dokumentation und bin auf etwas Magie gestoßen. Ich spreche nämlich von numpy.where(): >>> x = np.arange(9.).reshape(3, 3) >>> np.where( x > 5 ) (array([2, 2, 2]), array([0, 1, 2])) Wie erreichen sie intern, dass Sie so etwas x > 5in eine Methode überführen …

4
Was ist das Attribut __dict __.__ dict__ einer Python-Klasse?
>>> class A(object): pass ... >>> A.__dict__ <dictproxy object at 0x173ef30> >>> A.__dict__.__dict__ Traceback (most recent call last): File "<string>", line 1, in <fragment> AttributeError: 'dictproxy' object has no attribute '__dict__' >>> A.__dict__.copy() {'__dict__': <attribute '__dict__' of 'A' objects> ... } >>> A.__dict__['__dict__'] <attribute '__dict__' of 'A' objects> # What …


8
PHP __get und __set magische Methoden
Es sei denn , ich völlig täuscht, die __getund __setwerden Verfahren soll ermöglichen , von der Überlastung → getund set. Die folgenden Anweisungen sollten beispielsweise die __getMethode aufrufen : echo $foo->bar; $var = $foo->bar; Und die folgenden sollten die __setMethode verwenden: $foo->bar = 'test'; Dies funktionierte in meinem Code nicht …




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.