© yu_photo/Shutterstock.com
Python’s Hoppla ist der Hauptgrund, warum so viele Technologieunternehmen auf der ganzen Welt von ihren Mitarbeitern verlangen, dass sie wissen, wie man mit Python programmiert. Die Suche der Entwickler nach Wissen endet nie, und jedes Jahr wird mehr Know-how benötigt, um wettbewerbsfähig zu bleiben.
In diesem Artikel lernen Sie das hochmoderne Programmierparadigma von Python kennen. Es spielt keine Rolle, in welcher Sprache Sie sich auskennen, denn objektorientierte Programmierkonzepte vermitteln Ihnen ein neues Verständnis von Codestruktur und Softwarearchitektur.
Wir zeigen Ihnen die Grundlagen von Oops in Python und hoffen, dass Sie dadurch inspiriert werden Sie auf Ihrer Programmierreise, um mehr zu lernen und neuere und effizientere Methoden zum Codieren auszuprobieren.
Was ist objektorientierte Programmierung?
Objektorientierte Programmierung (Oop) ist eine Erstellungsmethode Wird von einem breiten Spektrum von Entwicklern verwendet und ist ein nützliches Paradigma bei der Arbeit mit großen und komplexen Projekten. Es ist das aktuelle Paradigma in der Programmierwelt, und es scheint nicht so, als würde sich das in absehbarer Zeit ändern.
Um diesen Entwicklungspfad zu verstehen, müssen wir zuerst Objekte definieren. Stellen Sie sich ein Objekt als eine Einheit eines Systems vor, eines Systems, in dem jeder Teil eine grundlegende Aufgabe hat.
Zum Beispiel können Sie sich den menschlichen Körper als ein System vorstellen, in dem jedes Organ ein Objekt ist. Das Endergebnis der Summe aller Objekte ist ein funktionsfähiger und gesunder Mensch.
Bei der objektorientierten Programmierung muss jedes Objekt effizient arbeiten, damit sie gemeinsam die gewünschte Aufgabe erledigen können. Jedes Objekt enthält Daten und Verhalten, die beiden Parameter, die definieren, wie dieses Objekt funktioniert.
Klasse
In der objektorientierten Programmierung ist eine Klasse eine Blaupause, aus der die Objekte erstellt werden. Jede Klasse stellt Attribute und Methoden bereit, mit denen Sie arbeiten können, und Sie können viele verschiedene Objekte mit derselben Klasse erstellen. Machen Sie sich keine Sorgen, wenn dies noch keinen Sinn ergibt! Wir versprechen, dass die Beispiele es einfacher machen werden.
Wenn Sie eine Klasse definieren, bauen Sie auch eine Datenstruktur auf. Jede Klasse kann eindeutige Methoden haben, das sind Funktionen, die uns praktische Verhaltensweisen zur Verwendung in unserem Code geben.
Sobald Sie die Klasse definiert haben, ist jedes erstellte Objekt eine zusätzliche Instanz, die die Variablen enthält, die wir in definiert haben Entwurf. Stellen Sie sich das so vor: In der realen Welt haben wir die Klasse „Mensch“, und jede Person ist eine Instanz dieser Klasse, deren Variablen von dieser Klasse abgeleitet sind.
Das klingt alles gut, aber wie bauen wir eine Klasse auf? Stellen wir uns zunächst viele Personen vor, von denen jede viele Attribute wie Name, Alter, Beruf usw. hat. Eine Klasse ist eine großartige Möglichkeit, jede Person zu organisieren, und Sie können Attribute ohne wirkliche Grenzen zuweisen.
Wir können eine Klasse erstellen, indem wir ein Schlüsselwort verwenden und die Attribute als Variablen mit der richtigen Einrückung zuweisen. Sie können jedes Attribut einzeln oder in Gruppen drucken und diese Informationen dann für die weitere Entwicklung verwenden. Im Wesentlichen erstellen wir eine Klasse, indem wir ihre Attribute definieren und dann Objekte von dieser Klasse ableiten, in die diese Attribute bereits eingebaut sind.
Klassensyntax
Mal sehen, wie die Syntax zum Erstellen einer Klasse funktioniert:
Der Code zum Erstellen einer Klasse in Python.
©”TNGD”.com
Das war’s , sehr einfach. Wir haben gerade eine Klasse namens Person mit dem Schlüsselwort pass erstellt. Pass ist ein Platzhalter, der angibt, wohin der Code schließlich gehen wird, sodass Sie den Code fehlerfrei ausführen können.
Die Klasse ist bereits definiert und funktioniert. Es enthält jedoch immer noch keine Eigenschaften, also fügen wir einige hinzu:
Definieren der Eigenschaften der Klasse.
©”TNGD”.com
Die Methode __init__ ist ein grundlegendes Werkzeug, wenn wir Eigenschaften oder Attribute definieren. Damit können Sie eine neue Klasseninstanz erstellen. Zusätzlich definiert die Methode __init__ den Anfangszustand eines Objekts mit den in der Klasse verfügbaren Parametern.
Aus Gründen, auf die wir hier nicht eingehen, sollte der erste Parameter immer eine Variable namens self sein. Denken Sie daran: Einrückungen sind sehr wichtig, wenn Sie mit Python-und Oop-Systemen arbeiten. Die Methode __init__ muss vier Leerzeichen eingerückt sein, und der Hauptteil, in dem Variablen definiert werden, muss acht Leerzeichen haben.
Lassen Sie uns nun einen wichtigen Unterschied bei der Arbeit mit Attributen festlegen. Klassenattribute sind die Namen der Attribute, die für jede Klasse gleich sind und deren Wert mit der Methode __init__ definiert wird. Umgekehrt, wenn Sie die Methode __init__ zum Erstellen eines neuen Objekts aufrufen, wird jedes erstellte Attribut als Instanzattribut bezeichnet.
Warum? Nun, diese Attribute sind spezifisch für eine bestimmte Instanz einer Klasse. In unserem Beispiel haben für die Person-Klasse alle Objekte Namens-und Alterseigenschaften, aber die Werte dieser Parameter könnten in jeder Person-Instanz unterschiedlich sein.
In diesem Beispiel definiert das Klassenattribut einen globalen Wert (Spezies) für alle mit dieser Klasse erstellten Objekte.
Erstellen Sie die Attribute für die Klasse.
©”TNGD”.com
Die Die Syntax für ein Klassenattribut ist sehr einfach. Stellen Sie einfach sicher, dass Sie das Attribut vor der Methode __init__ definieren und vier Leerzeichen einrücken. Denken Sie auch immer daran, einen Anfangswert zuzuweisen.
Objekte
Objekte sind ein alltägliches Thema für jeden Programmierer. Ein String wie „Hello, world“ ist ein Objekt. Auch eine Zahl oder ein Array ist ein Objekt.
Mit anderen Worten, jede Entität mit einem Zustand und einem damit verbundenen Verhalten ist ein Objekt. Ganzzahlen, Fließkommazahlen und Wörterbücher sind typische Objekte beim Programmieren mit Python.
Drei Kernprinzipien definieren ein Objekt. Seine Identität: Ein eindeutiger Name, der verwendet wird, um ihn mit anderen Objekten und Funktionen in Beziehung zu setzen. Als nächstes sein Zustand, der alle Attribute und Eigenschaften enthält, die in einem Objekt gespeichert sind. Schließlich das Verhalten, das aus den Methoden besteht, die mit diesem einzigartigen Objekt arbeiten, und wie es auf die anderen in Ihrem Code verfügbaren Funktionalitäten reagiert.
Zum Beispiel hätte eine Objektperson eine Identität, die von ihr bestimmt wird Name. Die Attribute wären Alter, Hobbys und Beruf. Ein Verhalten dieser Person wäre jede Aktion, die sie ausführen kann.
Codebeispiel: Methoden, Klassen-und Instanzattribute
Sehen wir uns nun ein Codebeispiel an:
Python Oops in einem Programm implementiert.
©”TNGD”.com
Im obigen Code haben wir alle Attribute und die Klassenmethode kombiniert, um ein ziemlich komplexes Objekt zu erstellen. Jetzt haben wir eine Person-Klasse mit einigen Eigenschaften und Aktionen, die wir erweitern können, um unserem Code verschiedene Dinge hinzuzufügen.
Vererbung und Polymorphismus in Pythons Oops
Wenn eine Klasse die Eigenschaften und Methoden einer anderen Klasse übernimmt, nennen wir diesen Vorgang Vererbung. Die Klasse, die erbt, wird Kindklasse genannt, und natürlich ist die Elternklasse diejenige, die ihre Attribute konzipiert.
Sie können geerbte Attribute ändern, überschreiben oder löschen, wenn Sie mit der Kindklasse arbeiten, ohne sie zu beeinflussen das Elternteil. Dieser Vorgang kann uns eine Menge Zeit sparen und ist sehr nützlich, wenn wir eine etwas andere Version einer Klasse benötigen.
Polymorphismus ist eine weitere nützliche Funktion bei der Arbeit mit Klassen. Es erlaubt uns, Funktionen einer übergeordneten Klasse in jeder beliebigen untergeordneten Klasse wiederzuverwenden. Die Verwendung von Polymorphismus ist eine großartige Möglichkeit, die Länge unseres Codes zu reduzieren und ihn an jede Situation anpassbar zu machen.
Jede Funktion, die wir von anderen Objekten übernehmen, funktioniert wie jede andere Funktion, Sie müssen nur die richtigen Parameter zuweisen. Daher ist die Kombination von Vererbung und Polymorphismus eine interessante Praxis zur Optimierung Ihres Codes.
Kapselung in Pythons Oops
Lassen Sie uns über ein letztes großes Konzept sprechen, das sich auf die objektorientierte Programmierung bezieht.
Kapselung ist ein Sicherheitskonzept und eine grundlegende Praxis für das korrekte Funktionieren jedes Oop-Systems. Es besteht im Wesentlichen darin, die Daten in separate Einheiten zu sortieren, sodass diese Daten nur mit den richtigen Schlüsselwörtern zugänglich sind.
Dies ist ein bequemer Weg, um die versehentliche Änderung wichtiger Daten in jeder Software zu verhindern.
Zum Beispiel ist eine Klasse eine gekapselte Einheit. Die Informationen zu ihren Attributen, Funktionen und Methoden sind nur über die Klasse zugänglich. Objekte funktionieren auf die gleiche Weise: Wenn Sie die Informationen innerhalb des Objekts ändern möchten, müssen Sie eine bestimmte Methode aufrufen.
Was sind die Vorteile der objektorientierten Programmierung?
In kurz, objektorientierte Programmierung ist der ideale Weg, um ein Modell realer Objekte zu erstellen, die miteinander interagieren, organisiert für Effizienz und kontrollierte Entwicklung. Wir haben bereits einen Teil der Funktionen und Möglichkeiten gesehen, die es bietet.
Mit Oops können wir komplexe Informationen entwerfen und damit arbeiten und diese Daten dann verwenden, um beliebige Funktionen zu erstellen, die wir wünschen. Wir können definieren, wie ein Objekt erstellt wird, wie es funktioniert und welches Verhalten es annimmt.
Während ein anderes gängiges Paradigma wie die prozedurale Programmierung ein Programm linear strukturiert (mit schlechter Anpassungsfähigkeit), ist Oop die Verzweigung für die Funktionalität ist endlos. Dies ist, zusammen mit der extremen Anpassungsfähigkeit, die es bietet, einer der Hauptvorteile der Arbeit mit oops.
Python-Oops-Konzepte mit Beispielen erklärt
Die grundlegende Erkenntnis ist, dass es objektorientiert ist Programmieren strukturiert und verarbeitet Daten auf nichtlineare, anpassbare und erweiterbare Weise. Dies erhöht die Effizienz und macht Programmiersprachen, die auf oop basieren, zugänglicher.
Jetzt kennen Sie Tools wie Klassen und Objekte, die Ihnen beim Erstellen aller Programme helfen, die Sie sich vorstellen können. Auch das Erlernen von Konzepten wie Vererbung und Kapselung trägt wesentlich dazu bei, wie Sie mit Ihrem Code umgehen.
Dies sind professionelle Tools, die mit jedem neuen Konzept, das Sie lernen, immer komplexer werden. Das Erlernen der Grundlagen stellt jedoch immer sicher, dass Sie eine solide Grundlage haben, auf der Sie aufbauen können. Wenn Sie weitere Informationen benötigen, sollten Sie sich die offizielle Dokumentation von Python ansehen!
Jetzt ist es an der Zeit, zu programmieren und es auszuprobieren all diese Konzepte. Viel Glück!
Python Oops-Konzepte erklärt, mit Beispielen FAQs (häufig gestellte Fragen)
Kann ich einer Klasse einen beliebigen Namen geben?
Ja, das können Sie. Jeder Name würde funktionieren, aber ein klarer, prägnanter und beschreibender Name ist immer besser.
Wie funktioniert die Vererbung?
Die Vererbung ermöglicht es uns, Code wiederzuverwenden indem die Eigenschaften und Funktionen einer übergeordneten Klasse von einer untergeordneten Klasse abgeleitet werden.
Was ist objektorientierte Programmierung?
Kurz gesagt, Oop ist eine Programmierung Paradigma, das mit Eigenschaften und Verhaltensweisen arbeitet, die in eindeutigen Einheiten gruppiert sind, die als Objekte bezeichnet werden. Es schlägt vor, Code als eine skalierbare Vermischung dieser Objekte zu sehen.
Was ist der Unterschied zwischen einer Methode und einer Funktion?
In der Oop-Theorie gibt es keine Unterschiede. Der Unterschied liegt in ihrer Funktionalität: Methoden sind Teil einer Instanz einer Klasse. Im Wesentlichen ist die Definition einer Methode immer innerhalb der Klasse vorhanden. Wenn nicht, nennen wir es eine Funktion, die in Python mit dem Partikel „def“ definiert werden kann.
Funktioniert oop in allen Sprachen gleich?
Ja und nein. Das Paradigma ist das gleiche für alle Sprachen, die auf oop basieren. Es gibt jedoch Sprachen, die auf anderen Paradigmen aufbauen, die sehr spezifische Anwendungen haben. Die beliebtesten Programmiersprachen wie Java, Javascript, Python und C konzentrieren sich alle auf diese Ooop-Konzepte.