[Python von Grund auf lernen] 42. Integrierte Eigenschaften und Methoden in Python

eingebaute Eigenschaften

Verwenden Sie die integrierte Funktion dir, um alle von einem Objekt unterstützten Eigenschaften und Methoden anzuzeigen. In Python gibt es viele integrierte Eigenschaften.

__slots__

Python unterstützt dynamische Attribute, Sie können Attribute direkt über die Punktsyntax zu einem Objekt hinzufügen und der Code ist flexibler. In einigen Fällen müssen wir jedoch möglicherweise die Eigenschaften steuern. Zu diesem Zeitpunkt können wir __slots__die Implementierung verwenden.

class Person(object):
    __slots__ = ('name', 'age')
    def __init__(self, name, age):
        self.name = name
        self.age = age
        
p = Person('张三', 18)
p.name = '李四'

# 对象p只能设置name和age属性,不能再动态添加属性
# p.height = 180 # 报错

__doc__

Gibt die beschreibenden Informationen der Klasse an.

class Foo:
    """ 描述类信息,这是用于看片的神奇 """
    def func(self):
        pass

print(Foo.__doc__)
# 输出:类的描述信息

__module__und __class__
__module__Gibt an, in welchem ​​Modul sich das Objekt der aktuellen Operation befindet; __class__welche Klasse das Objekt der aktuellen Operation hat.

test.py

class Person(object):
    def __init__(self):
        self.name = 'laowang'

main.py

from test import Person

obj = Person()
print(obj.__module__)  # 输出 test 即:输出模块
print(obj.__class__)  # 输出 test.Person 即:输出类

__dict__

Zeigen Sie in Form eines Wörterbuchs alle Eigenschaften und Methoden des Objekts an.

class Province(object):
    country = 'China'

    def __init__(self, name, count):
        self.name = name
        self.count = count

    def func(self, *args, **kwargs):
        print('func')

# 获取类的属性,即:类属性、方法、
print(Province.__dict__)
# 输出:{'__dict__': <attribute '__dict__' of 'Province' objects>, '__module__': '__main__', 'country': 'China', '__doc__': None, '__weakref__': <attribute '__weakref__' of 'Province' objects>, 'func': <function Province.func at 0x101897950>, '__init__': <function Province.__init__ at 0x1018978c8>}

obj1 = Province('山东', 10000)
print(obj1.__dict__)
# 获取 对象obj1 的属性
# 输出:{'count': 10000, 'name': '山东'}

obj2 = Province('山西', 20000)
print(obj2.__dict__)
# 获取 对象obj1 的属性
# 输出:{'count': 20000, 'name': '山西'}

__getitem__, __setitem__und __delitem__Methoden

Diese drei Methoden bearbeiten das Objekt als Wörterbuch.

class Foo(object):

    def __getitem__(self, key):
        print('__getitem__', key)

    def __setitem__(self, key, value):
        print('__setitem__', key, value)

    def __delitem__(self, key):
        print('__delitem__', key)

obj = Foo()

result = obj['k1']      # 自动触发执行 __getitem__
obj['k2'] = 'laowang'   # 自动触发执行 __setitem__
del obj['k1']           # 自动触发执行 __delitem__

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/132356107
Empfohlen
Rangfolge