[Python von Grund auf lernen] 41.Python-Magiemethode (2)

Operationsbezogene Zaubermethoden

denken:

class Person:
  def __init__(self,name,age):
    self.name = name
    self.age = age

p1 = Person('zhangsan',18)
p2 = Person('zhangsan',18)
print(p1 == p2)

Ist das Ergebnis im obigen Code bei Verwendung des ==-Operators zum Vergleichen zweier Objekte wahr oder falsch? Was genau ist der Vergleich?

Vergleich operatorbezogener magischer Methoden

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __eq__(self, other):
        return self.name == other.name and self.age == other.age

    # def __ne__(self, other):

    def __lt__(self, other):
        return self.age < other.age

    # def __gt__(self, other):

    def __le__(self, other):
        return self.age <= other.age
    # def __ge__(self, other):


s1 = Student('zhangsan', 18)
s2 = Student('zhangsan', 18)
s3 = Student('lisi', 20)
print(s1 == s2)
print(s1 != s2)
print(s1 > s2)
print(s1 >= s2)
print(s1 <= s2)
print(s1 <= s2)

Magische Methoden im Zusammenhang mit arithmetischen Operatoren

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __add__(self, other):
        return self.age + other

    def __sub__(self, other):
        return self.age - other

    def __mul__(self, other):
        return self.age * other

    def __truediv__(self, other):
        return self.age / other

    def __mod__(self, other):
        return self.age % other

    def __pow__(self, power, modulo=None):
        return self.age ** power


s = Student('zhangsan', 18)
print(s + 1)  # 19
print(s - 2)  # 16
print(s * 2)  # 36
print(s / 5)  # 3.6
print(s % 5)  # 3
print(s ** 2)  # 324

Typkonvertierungsbezogene magische Methoden

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __int__(self):
        return self.age

    def __float__(self):
        return self.age * 1.0

    def __str__(self):
        return self.name

    def __bool__(self):
        return self.age > 18


s = Student('zhangsan', 18)
print(int(s))
print(float(s))
print(str(s))
print(bool(s))

if s:
    print('hello')

Fortgeschrittener Fall

[Python] Python erkennt das Wort-Ratespiel – fordern Sie Ihre Intelligenz und Ihr Glück heraus!

[Python] Die Python-tkinter-Bibliothek implementiert ein GUI-Programm für den Gewichtseinheitenkonverter

[Python] Verwenden Sie Selenium, um (2023 Blog Star)-Einträge zu erhalten

[Python] Verwenden Sie Selenium und Chrome WebDriver, um Artikelinformationen im [Tencent Cloud Studio Practical Training Camp] zu erhalten.

Verwenden Sie Tencent Cloud Cloud Studio, um die Planung von Baidu AI zur Realisierung der Texterkennung zu realisieren

[Spaß mit der Python-Serie [Xiaobai muss gesehen werden] Python-Multithread-Crawler: Laden Sie Bilder von Emoticon-Paket-Websites herunter

[Play with Python-Serie] [Muss für Xiaobai gesehen werden] Verwenden Sie Python, um historische Daten von Shuangseqiu zu crawlen und visuell zu analysieren

[Mit der Python-Serie spielen] [Muss für Xiaobai gesehen werden] Verwenden Sie die Python-Crawler-Technologie, um Proxy-IP abzurufen und in einer Datei zu speichern

[Muss für Xiaobai gesehen werden] Beispiel für die Python-Bildsynthese unter Verwendung der PIL-Bibliothek, um die Synthese mehrerer Bilder nach Rängen und Spalten zu realisieren

[Xiaobai muss sehen] Der tatsächliche Kampf des Python-Crawlers lädt Bilder von Göttinnen stapelweise herunter und speichert sie lokal

[Xiaobai muss sehen] Detaillierte Analyse und Codeimplementierung des Python-Wortwolkengenerators

[Xiaobai muss sehen] Python crawlt ein Beispiel für NBA-Spielerdaten

[Muss für Xiaobai gesehen werden] Beispielcode zum Crawlen und Speichern von Himalaya-Audio mit Python

[Muss für Xiaobai gesehen werden] Technische Umsetzung der Verwendung von Python zum stapelweisen Herunterladen von League of Legends-Skin-Bildern

[Xiaobai muss sehen] Python-Crawler-Datenverarbeitung und -visualisierung

[Muss für Xiaobai gesehen werden] Python-Crawler-Programm zum einfachen Erhalten von Helden-Skin-Bildern von King of Glory

[Muss für Xiaobai gesehen werden] Verwenden Sie Python, um ein personalisiertes Listen-Word-Dokument zu erstellen

[Muss für Xiaobai gesehen werden] Python-Crawler-Kampf: Holen Sie sich Bilder von der Onmyoji-Website und speichern Sie sie automatisch

Die unverzichtbare Serie des Bibliotheksverwaltungssystems von Xiaobai – Beispielcode für Anmelde- und Registrierungsfunktionen

100 Fälle von Xiaobais tatsächlichem Kampf: Ein vollständiges und einfaches Shuangseqiu-Lotterie-Gewinnbeurteilungsprogramm, geeignet für den Einstieg in Xiaobai

Geodatenverarbeitung und Visualisierung mit Geopandas und Shapely (.shp)

Verwenden Sie Selen, um die Daten der Maoyan-Filmliste zu crawlen

Ausführliche Erläuterung des Prinzips und der Implementierung des Bildverbesserungsalgorithmus Retinex

Leitfaden zum Einstieg in Crawler (8): Schreiben Sie Crawler-Programme für Wetterdaten zur visuellen Analyse

Einführungsleitfaden für Crawler (7): Verwendung von Selenium und BeautifulSoup zum Crawlen von Douban Movie Top250 Beispielerklärung [Reptile Xiaobai muss sich ansehen]

Leitfaden zum Einstieg in Crawler (6): Anti-Crawler und fortgeschrittene Fähigkeiten: IP-Proxy, User-Agent-Verkleidung, Cookie-Bypass-Anmeldeüberprüfung und Tools zur Identifizierung von Bestätigungscodes

Einführungsleitfaden zu Crawlern (5): Verteilte Crawler und Parallelitätskontrolle [Implementierungsmethoden zur Verbesserung der Crawling-Effizienz und Anforderungsrationalitätskontrolle]

Erste Schritte mit Crawlern (4): Der beste Weg, dynamische Webseiten mit Selenium und API zu crawlen

Leitfaden zum Einstieg in Crawler (3): Python-Netzwerkanfragen und gängige Anti-Crawler-Strategien

Erste Schritte mit Crawlern (2): Verwendung regulärer Ausdrücke zur Datenextraktion und -verarbeitung

Erste Schritte mit Reptilien (1): Lernen Sie die Grundlagen und Fähigkeiten von Reptilien

Anwendung des Deep-Learning-Modells in der Bilderkennung: CIFAR-10-Datensatzpraxis und Genauigkeitsanalyse

Grundlagen der objektorientierten Python-Programmierung und Beispielcode

Anleitung zum Betrieb einer MySQL-Datenbank: Erfahren Sie, wie Sie mit Python Vorgänge hinzufügen, löschen, ändern und abfragen

Anleitung zum Betrieb von Python-Dateien: Kodierung, Lesen, Schreiben und Ausnahmebehandlung

Verwenden Sie Python und Selenium, um das Crawlen zu automatisieren

Python-Multithread- und Multiprozess-Tutorial: umfassende Analyse, Codefälle und Optimierungsfähigkeiten

Selenium Automation Toolset – Vollständiger Leitfaden und Tutorials

Von den Grundlagen des Python-Webcrawlers bis hin zum eigentlichen Kampf-Tutorial

Python-Einführungs-Tutorial: Beherrschen Sie die Grundkenntnisse der For-Schleife, der While-Schleife, der String-Operation, des Lesens und Schreibens von Dateien sowie der Ausnahmebehandlung

Tutorial zur Pandas-Datenverarbeitung und -Analyse: von den Grundlagen bis zum tatsächlichen Kampf

Detaillierte Erläuterung häufig verwendeter Datentypen und zugehöriger Vorgänge in Python

[Neueste Version im Jahr 2023] Detaillierte Erläuterung von sechs wichtigen Maßnahmen zur Verbesserung des Index des Klassifizierungsmodells

Einführende Grundlagen und fortgeschrittene Kenntnisse der Python-Programmierung, Webentwicklung, Datenanalyse sowie maschinelles Lernen und künstliche Intelligenz

Diagrammvorhersageergebnisse mit 4 Regressionsmethoden: Vektorregression, Random Forest-Regression, lineare Regression, K-Nearest Neighbors-Regression

Ich denke du magst

Origin blog.csdn.net/qq_33681891/article/details/132355952
Empfohlen
Rangfolge