Vorgehensweise zum Ausleihen und Ausleihen von JS-Methoden (die verwendete Methode) in Python

Annahme in JavaScript

In JavaScript ist bekannt, dass Sie den Kontext von `this``` in Funktion durch` apply``` ändern können.

Sozusagen können zur Laufzeit Methoden anderer Klassen verwendet werden.

Nach dem Umgehen scheint es, dass es auf Englisch als Ausleihmethode bezeichnet wird. Bedeutet es wörtlich "ausleihen"?

Beispiel


function A () {
  this.value = 1;
}


function B () {
  this.value = 2;
}


B.prototype.show = function show () {
  console.log(this.value);
};


var a = A();
B.prototype.show.apply(a);  //Es ist wie "ein leiht und verwendet Show, die eine Methode von B ist."

Ausführungsergebnis


1

Das Hauptthema in Python

Als ich heute mit jemandem aß, den ich lange nicht gesehen hatte, wurde ich gefragt: "Kann ich dasselbe mit Python machen?" In Python möchte ich zur Laufzeit `` `self``` ändern. Aus der Schlussfolgerung "Ich kann". Ich konnte es nicht sofort erklären, also beschloss ich, es in Qiita zu schreiben.

In Python


class A(object):

    def __init__(self):
        self.value = 1


class B(object):

    def __init__(self):
        self.value = 2

    def show(self):
        print(self.value)


a = A()
B.__dict__['show'](a)

Ausführungsergebnis


1

Zusammenfassung

In Python wurde gesagt, dass verschiedene Referenzen durch `` `dict``` gemacht werden können.

Wenn Sie dies jedoch zu oft verwenden, wird es zu schwarzer Magie. Verwenden Sie es daher nicht mehr normal.

Recommended Posts

Vorgehensweise zum Ausleihen und Ausleihen von JS-Methoden (die verwendete Methode) in Python
[Python] Wie man PCA mit Python macht
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
So machen Sie R chartr () in Python
Verwendung ist und == in Python
So schreiben Sie den richtigen Shebang in Perl-, Python- und Ruby-Skripten
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Verwendung der C-Bibliothek in Python
So generieren Sie eine Sequenz in Python und C ++
So erhalten Sie die Dateien im Ordner [Python]
Wie man Autokorrelation und partielle Autokorrelation mit Python zeichnet
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
So rufen Sie den n-ten größten Wert in Python ab
So erhalten Sie den Variablennamen selbst in Python
Erhalten Sie das Formular in Python und führen Sie verschiedene Aktionen aus
So ermitteln Sie die Anzahl der Stellen in Python
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
So definieren Sie Decorator und Decomaker mit einer Funktion
So führen Sie mit OpenCV ein Null-Padding in einer Zeile durch
% Und str.format () in Python. Welches benutzt du?
[Python] So sortieren Sie Diktate in Listen und Instanzen in Listen
Verwendung des in Lobe in Python erlernten Modells
[Python] So geben Sie Listenwerte der Reihe nach aus
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio
So tauschen Sie Elemente in einem Array in Python aus und wie kehren Sie ein Array um.
Ausländer sprechen: Wie man Klassen und Methoden auf Englisch benennt
Verwendung der Methode __call__ in der Python-Klasse
[Python] Wie schreibe ich eine if-Anweisung in einen Satz?
[Einführung in die Udemy Python3 + -Anwendung] 36. Verwendung von In und Not
[Super einfach! ] So zeigen Sie den Inhalt von Wörterbüchern und Listen einschließlich Japanisch in Python an
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie alle Schlüssel und Werte im Wörterbuch
Wie man in Python entwickelt
Ausführen externer Shell-Skripte und -Befehle in Python
So melden Sie sich mit Python bei AtCoder an und senden automatisch
Bestimmen Sie das Datums- und Uhrzeitformat mit Python und konvertieren Sie es in Unixtime
So bestimmen Sie die Existenz eines Selenelements in Python
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
Bestehen und Studieren der Python 3 Engineer-Zertifizierungsgrundprüfung
Wie Sie die interne Struktur eines Objekts in Python kennen
Geben und meinen Sie die Einschränkungsoption in scipy.optimize.minimize
Das 15. Offline-Echtzeit-Schreiben eines Referenzproblems in Python
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
17. Offline-Echtzeit So lösen Sie Schreibprobleme mit Python
So überprüfen Sie die Speichergröße einer Variablen in Python
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
Verwendung von Funktionen in separaten Dateien Perl-Version und Python-Version
So stellen Sie fest, dass in Python3 ein Kreuzschlüssel eingegeben wurde
Verwendung von Sternchen (*) in Python. Vielleicht ist das alles? ..
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
[ROS2] Beschreibung der Neuzuordnung und der Parameter beim Start des Python-Formats
Das 14. Referenzproblem beim Schreiben in Echtzeit in Python