Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Wenn Sie Klassen in Python schreiben, stoßen Sie möglicherweise häufig auf den Begriff. 'self.'Es handelt sich um ein wichtiges Konzept, das Anfänger verstehen müssen, wenn sie tiefer in die objektorientierten Funktionen der Programmiersprache Python eintauchen.

Der selfParameter bezieht sich auf die aktuelle Instanz einer Klasse. Sie können damit auf die Attribute und Methoden zugreifen, die zu dieser Klasse gehören.

In diesem Python-Tutorial untersuchen wir, welche selfzentrale Rolle die Variable in Python-Klassen spielt. Wir zeigen Ihnen auch, wie Sie durch den Einsatz von Code-Klarheit, Modularität und Wiederverwendbarkeit aufrechterhalten self.

Inhaltsverzeichnis

Selbst in Python verstehen

Python ist eine objektorientierte Programmiersprache (OOP) , die stark auf Klassen und Objekten basiert. Bevor wir uns also mit den selfParametern befassen, müssen wir zunächst verstehen, was objektorientierte Programmierung ist.

Objektorientierte Programmierung in Python

Was ist Self in Python: Beispiele aus der PraxisKreideschreiben – OOP, objektorientierte Programmierung large-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" decoding="async" Loading="lazy" src="https: //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="Was ist Selbst in Python?" class="wp-image-206807" width=" 709" height="472" srcset="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg 612w, https://blog.enterprisedna.co /wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg 300w, https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-560x372.jpg 560w" size="(max-width: 709px) 100vw, 709px">

Die objektorientierte Programmierung hilft Programmierern, reale Konzepte und Beziehungen durch die Verwendung von Klassen und Objekten zu modellieren. Dies führt zu einem Code, der strukturierter, wiederverwendbarer und skalierbarer ist.

Stellen Sie sich eine Klasse als Vorlage zum Erstellen von Objekten mit vordefinierten Eigenschaften und Methoden vor. Außerdem ist ein Objekt eine Instanz einer Klasse, die ihre eigenen Werte für die Attribute speichert und Zugriff auf Klassenfunktionen hat.

Diese beiden Konzepte sind ein wichtiger Baustein in vielen Python- Anwendungen. In diesem Video zum einfachen Erstellen von Daten mit der Python Faker-Bibliothek können Sie sowohl Klassen als auch Objekte bei der Arbeit sehen.

Die Rolle des Python-Selbst

Self ist ein Verweis auf die Instanz der Klasse in Python. Sie können damit auf die Attribute und Methoden einer Klasse innerhalb ihres eigenen Bereichs zugreifen und diese ändern.

Hier sind einige wichtige Punkte zur Verwendung von self in Python:

  • Selfist kein reserviertes Schlüsselwort in der Python-Syntax . Sie können andere Namen verwenden, um Klasseninstanzen zu identifizieren, dies selfist jedoch die am weitesten verbreitete und von Python-Programmierern akzeptierte Konvention.
  • Selfwird als erster Parameter in Instanzmethoden verwendet, um auf die aktuelle Instanz der Klasse zu verweisen.
  • Sie können damit selfzwischen Instanzattributen und lokalen Variablen unterscheiden und so Ihren Code besser lesbar und weniger fehlerhaft machen.
  • Beim Aufruf einer Instanzmethode übergibt Python die Instanz automatisch als ersten Parameter.
  • Sie müssen den selfParameter im __init__() Konstruktor und allen anderen nachfolgenden Funktionskonstruktoren in Ihrer Klasse deklarieren. Andernfalls wird Ihr Programm eine Fehlermeldung auslösen typeerror.

    Unten sehen Sie ein Beispiel für diesen Fehler:

class Person: def __init__(self): print('welcome') def show_person(): print('I love pandas.') a = Person() b = a.show_person() Traceback (most recent call last): File "person.py", line 10, in trill = b.show_person() ^^^^^^^^^^^^^^^^^^ TypeError: Person.show_person() takes 0 positional arguments but 1 was given

Hinweis: Sie können die Verwendung des Parameters in Funktionen umgehen self , indem Sie die statische Methodenfunktion verwenden, die Python 3 bereitstellt. Wir werden in einem späteren Abschnitt näher darauf eingehen.

Arbeiten mit sich selbst

Was ist Self in Python: Beispiele aus der Praxis

Das Erlernen der Verwendung self ist für den Aufbau von Klassen in Python sehr wichtig. In diesem Abschnitt erfahren Sie, wie Sie self in verschiedenen Szenarien mit Klassen und Objekten arbeiten.

Objekte mit „__init__()“ initialisieren

Was ist Self in Python: Beispiele aus der Praxis

Beim Erstellen einer neuen Instanz einer Klasse __init__() wird die Methode aufgerufen, um die Attribute des Objekts zu initialisieren. Die __init__() Methode ist der Klassenkonstruktor und verwendet den self Parameter als erstes Argument.

Der selfParameter wird innerhalb dieser Methode verwendet, um die Instanzattribute den angegebenen Argumenten zuzuordnen.

Hier ist ein Beispiel:

class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)

In diesem Beispiel verwendet die Methode , und als Parameter während der Initialisierung des Objekts. Der Parameter bezieht sich auf die Klasseninstanz und ermöglicht Ihnen das Festlegen der Attribute und für das spezifische Objekt, das erstellt wird. init selfnameageself nameage

Sich selbst in Methoden nutzen

Wenn Sie Instanzmethoden in einer Klasse definieren, sollten Sie diese self als ersten Parameter angeben. Dadurch können Sie auf die Instanzattribute und andere Methoden innerhalb der Klasse zugreifen.

Erweitern wir das vorherige Beispiel:

class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("Hello, my name is " + self.name + " and I'm " + str(self.age) + " years old.") person1 = Person("Alice", 30) person1.introduce()

In diesem Beispiel introduce()enthält die Methode selfals ersten Parameter. Dadurch können Sie auf die Namens- und Altersattribute des Objekts zugreifen und eine personalisierte Einleitung erstellen.

Wenn Sie die Methode in Ihrem Code aufrufen, müssen Sie den self Parameter nicht explizit übergeben. Python kümmert sich automatisch darum.

Wenn Anfänger diese Richtlinien befolgen und den Zweck von Python verstehen self, können sie effektiv mit Klassen und Objekten arbeiten. Dadurch können sie gut strukturierten Code erstellen, der leicht zu lesen und zu warten ist.

Häufige Anwendungsfälle für sich selbst

Was ist Self in Python: Beispiele aus der Praxis

Es gibt viele Möglichkeiten, das Schlüsselwort in Ihrem Python-Code zu verwenden . Wenn Sie diese Anwendungsfälle verstehen, können Sie sie effektiv in Ihren Programmen einsetzen. self self

Schauen wir uns einige davon an:

Auf Klassenattribute zugreifen

Eine Hauptverwendung von selfist der Zugriff auf Instanzattribute innerhalb einer Klasse. Instanzattribute sind spezifisch für ein aus der Klasse erstelltes Objekt und speichern die Daten des Objekts.

Mithilfe von selfkönnen Sie diese Attribute innerhalb von Klassenmethoden bearbeiten oder darauf zugreifen. Schauen wir uns ein Beispiel an:

class Dog: def __init__(self, name, age): self.name = name self.age = age def display_name(self): print("The dog's name is:", self.name)

In diesem Beispiel haben wir self innerhalb der Methode auf das Namensattribut eines Dog-Objekts zugegriffen display_name .

Aufrufen von Klassenmethoden

Ein weiterer häufiger Anwendungsfall selfbesteht darin, andere Klassenmethoden innerhalb einer Instanzmethode aufzurufen. Dadurch können Sie Code wiederverwenden, die Komplexität reduzieren und die Lesbarkeit verbessern.

Die Verwendung ist selfbei Verweisen auf andere Methoden unbedingt erforderlich, da dadurch sichergestellt wird, dass die richtige Methode für die spezifische Instanz aufgerufen wird. Betrachten Sie das folgende Beispiel:

class Bird: def __init__(self, species, color): self.species = species self.color = color def show_species(self): print("The bird species is:", self.species) def show_info(self): self.show_species() print("The bird color is:", self.color)

Im obigen Beispiel rufen wir selfdie show_speciesMethode innerhalb der show_infoMethode auf. Dies ermöglicht es uns, die Art und Farbe des Vogels in einem einzigen Anruf anzuzeigen.

Denken Sie abschließend daran, selfbeim Zugriff auf Instanzattribute und beim Aufrufen von Klassenmethoden die Verwendung zu verwenden. Sobald Sie diese Anwendungsfälle verstanden haben, können Sie effizienteren und organisierteren Python-Code schreiben.

Beste Selbstpraktiken

Was ist Self in Python: Beispiele aus der Praxis

Bei der Arbeit mit self,müssen Sie einige Konventionen befolgen, um Probleme und Fehler in Ihrem Code zu vermeiden. Hier sind einige davon.

Wo man sich selbst nutzt

Verwenden Sie beim Definieren von Instanzmethoden immer den selfParameter als ersten Parameter. Dadurch können Sie auf die Instanzattribute des Objekts zugreifen und diese ändern sowie andere Instanzmethoden innerhalb der Klasse aufrufen.

Die Verwendung ist wichtig, selfwenn Sie mit Objektinstanzen in Python arbeiten. Die Verwendung stellt ein konsistentes Verhalten sicher und ermöglicht eine ordnungsgemäße Objektkapselung.

Betrachten Sie beispielsweise die folgende Klasse:

class MyClass: def __init__(self, my_var): self.my_var = my_var

Hier wird der self-Parameter in der Methode verwendet, um das Attribut der Objektinstanz __init__ zu initialisieren . my_var Auf diese Weise wird es zu einem instanzspezifischen Attribut. my_var

Dadurch kann über die Selbstreferenz in anderen Methoden der Klasse auf sie zugegriffen und sie geändert werden.

Namenskonventionen für sich selbst

Während selfdies der herkömmliche Name für die Instanz in Python ist, können Sie technisch gesehen jeden beliebigen Namen verwenden. Es wird jedoch dringend empfohlen, aus Gründen der Klarheit und Konsistenz mit der breiteren Python-Community bei der Verwendung von self zu bleiben.

Die Verwendung eines anderen Namens kann bei denjenigen, die Ihren Code lesen und damit arbeiten, zu Verwirrung führen, insbesondere wenn sie mit den Standardnamenskonventionen in Python-Bibliotheken vertraut sind.

Wo man sich nicht selbst gebrauchen sollte

Wir wissen bereits, dass der selfParameter Zugriff auf die Objektinstanz bietet. In einigen Fällen benötigen einige Funktionen in der Klasse jedoch möglicherweise keinen Zugriff auf die Objektinstanz.

In diesem Szenario wird der Parameter self nicht benötigt. Daher bietet Python eine statische Methodenfunktion zum Umgehen des self-Parameters:

Hier ist ein Beispiel:

class Car: @staticmethod def print_car(): print('Vroom Vroom')

Im obigen Beispiel @staticmethodüberschreibt der Funktionsdekorator die selfParameteranforderung in der Methode. Auf diese Weise wird die Funktion auch dann ausgeführt, wenn ihr keine Objektinstanz übergeben wird.

Abschluss

Was ist Self in Python: Beispiele aus der Praxis

Zusammenfassend bezieht sich der self-Parameter in Python auf die Instanz einer Klasse und ermöglicht den Zugriff auf deren Attribute und Methoden. Als Python-Entwickler ist es wichtig, den Zweck von self und seine Verwendung in Klassen und Objekten zu verstehen.

Durch die konsistente Verwendung von self in Ihrem Code fördern Sie die Lesbarkeit und Wartbarkeit, was die Gesamtqualität Ihrer Arbeit verbessert.

Denken Sie auch daran, dass der Begriff zwar "self"häufig in Python verwendet wird, es sich jedoch nicht um ein reserviertes Python-Schlüsselwort handelt. Dies unterscheidet sich von Programmiersprachen wie Javascript und Java , bei denen "this" es sich um ein reserviertes Schlüsselwort handelt.

Sie können den ersten Parameter in einer Klassenmethode beliebig benennen; self ist nur die bevorzugte Konvention.

Ist self ein Schlüsselwort in Python? 

Es gibt eine Frage, die Python-Programmierern immer im Kopf herumschwirrt. Ist self tatsächlich ein Schlüsselwort in Python? 

Im Gegensatz zu anderen Programmiersprachen wie C++, bei denen „self“ als Schlüsselwort betrachtet wird, handelt es sich in Python um eine Konvention, der Programmierer tendenziell folgen. Es handelt sich grundsätzlich um einen Parameter in einer Methodendefinition. Sie können jedoch anstelle von self auch einen anderen Namen verwenden, z. B. another oder me oder irgendetwas anderes für den ersten Parameter einer Methode. Ein weiterer Grund, warum es von den meisten Leuten empfohlen wird, ist, dass es die Lesbarkeit Ihres Codes verbessert. 

Sehen wir uns ein Beispiel an, um es zu verstehen: 

class myClass:   def show(another):   print(“another wird anstelle von self verwendet”)  

Wenn Sie diesen Code mit dem Code für den Selbstkonstruktor der Python-Klasse vergleichen, werden Sie feststellen, dass wir hier den Namen anderen in verwendet haben Ort des selbst. Lassen Sie uns nun ein Objekt dieser Klasse erstellen und die Ausgabe sehen: 

object = myClass()  object.show()

Sie können sehen, dass das Programm auch dann funktioniert, wenn wir anstelle der Variable self einen anderen Namen verwenden. Es funktioniert genauso wie die Variable self. 


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst