Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel-Tutorial zur Verwendung spezieller Python-Klassenmethoden

Beispiel-Tutorial zur Verwendung spezieller Python-Klassenmethoden

零下一度
零下一度Original
2017-05-23 14:53:021790Durchsuche

Es ist wieder an der Zeit, über Beispiele zu sprechen. Diesmal sprechen wir über Beispiel-Tutorials zur Verwendung von Python-Sonderklassenmethoden.

1.__getitem__Spezialisierte Methode

1 >>> map = {'name':'c小加'}
2 >>> map.__getitem__("name")
3 'c\xe5\xb0\x8f\xe5\x8a\xa0'

leitet einfach zum Wörterbuch weiter und gibt den Wert des Wörterbuchs zurück
2.__setitem__Spezialisierte Methode

 >>> map = {'name':'c小加'}
2 >>> map.__setitem__('monaker','队花')
3 >>> map
4 {'monaker': '\xe9\x98\x9f\xe8\x8a\xb1', 'name': 'c\xe5\xb0\x8f\xe5\x8a\xa0'}

Map ist eigentlich eine Klasse. Sie gibt so viel wie möglich vor, ein Wörterbuch zu sein, genau wie C Xiaojia so viel wie möglich vorgibt, der Teamstar zu sein, obwohl er ein Mann ist.

 >>> map['monaker'] = '队花'
 >>> map
{'monaker': '\xe9\x98\x9f\xe8\x8a\xb1', 'name': 'c\xe5\xb0\x8f\xe5\x8a\xa0'} 
这个看上去像个正常的字典语法,这行代码实际上暗自调用了map.__setitem__('monaker','队花')

Das Überschreiben der __setitem__-Methode in einer Klasse ist streng in der gleichen Form wie die Methode der übergeordneten Klasse definiert. Der Name des Parameters spielt keine Rolle, nur die Nummer. Gleichzeitig geht Python beim direkten Aufrufen der übergeordneten Klasse durch den Baum der übergeordneten Klasse, obwohl kein __setitem__ vorhanden ist, bis es die Klasse findet, in der wir die Methode aufrufen.
3 .__repr__ ist eine spezielle Methode, die aufgerufen wird, wenn repr(instance) aufgerufen wird. repr Funktion ist eine integrierte Funktion, die eine Zeichenfolgendarstellung eines Objekts zurückgibt. Es kann für jedes Objekt verwendet werden, nicht nur für Instanzen von Klassen. Sie haben dem Vertreter bereits geantwortet Ziemlich vertraut, auch wenn man es nicht weiß. Wenn Sie im interaktiven Fenster nur einen Variablennamen eingeben und dann die EINGABETASTE drücken, verwendet Python repr um den Wert der Variablen anzuzeigen. Erstellen Sie ein Wörterbuch d mit einigen Daten und verwenden Sie dann print repr(d), um einen Blick darauf zu werfen.

4.__cmp__ wird beim Vergleich von Klasseninstanzen aufgerufen. Im Allgemeinen können Sie zwei beliebige Python-Objekte vergleichen, indem Sie == verwenden Objekte, nicht nur Klasseninstanzen. Es gibt einige Regeln, die definieren, wann integrierte Datentypen als gleich angesehen werden. Wörterbücher sind beispielsweise gleich, wenn sie alle dieselben Schlüssel und Werte haben. Für Klasseninstanzen können Sie definieren __cmp__-Methode schreiben Sie Ihre eigene Vergleichslogik, dann können Sie == verwenden, um Ihre Klassen zu vergleichen, und Python ruft Ihre spezielle __cmp__-Methode für Sie auf.
5.__len__ wird aufgerufen, wenn len(instance) aufgerufen wird. len ist eine integrierte Funktion, die die Länge eines Objekts zurückgibt. Es kann für jedes Objekt verwendet werden, von dem man annimmt, dass es eine angemessene Länge hat. Zeichenfolge len ist die Anzahl der Zeichen; len eines Wörterbuchs ist die Anzahl seiner Schlüsselwörter; len einer Liste oder Sequenz ist die Anzahl der Elemente. Definieren Sie für Klasseninstanzen __len__ Methode, schreiben Sie dann Ihre eigene Längenberechnung, rufen Sie dann len(instance) auf und Python ruft Ihre __len__-Spezialmethode für Sie auf.
6.__delitem__ Wird aufgerufen, wenn del-Instanz[Schlüssel] aufgerufen wird. Sie erinnern sich vielleicht an das Löschen einer einzelnen Instanz aus dem Wörterbuch-Elementmethoden. Wenn Sie del für eine Klasseninstanz verwenden, ruft Python die private Methode __delitem__ für Sie auf.

Private Methoden bedeuten, dass jede Klasse durch Definieren einer __setitem__-Methode Schlüssel-Wert-Paare wie ein Wörterbuch speichern kann. Jede Klasse kann sich durch Definition wie eine Sequenz verhalten __getitem__-Methode. Jede Klasse, die eine __cmp__-Methode definiert, kann mit == verglichen werden. Und wenn sich Ihre Klasse so verhält, als hätte sie so etwas wie eine Länge, definieren Sie sie nicht GetLength-Methode, definieren Sie stattdessen die __len__-Methode und verwenden Sie len(instance).

[Verwandte Empfehlungen]

1. Vertiefendes Verständnis der Sonderfunktion __len__(self) in Python

2. Wenig Wissen, das man beherrschen muss – detaillierte Erklärung der Python-Len-Beispiele

3. )-Funktion in Python-Verwendungsbeispielen

4. Die magischen Python-Methoden __getitem__, __setitem__, __delitem__, __len__ werden jeweils vorgestellt

Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial zur Verwendung spezieller Python-Klassenmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn