Python 101: Objektorientierte Programmierung für Anfänger | Naser Jamal | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Python 101: Objektorientierte Programmierung für Anfänger

teacher avatar Naser Jamal, Computer Engineer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Objektorientierte Programmierung Einführung

      0:37

    • 2.

      Klassen und Objekte

      7:56

    • 3.

      Vererbung

      9:32

    • 4.

      Statische Methoden, Klassenmethoden, Class

      6:09

    • 5.

      Importieren von Klassen

      2:54

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

133

Teilnehmer:innen

--

Projekte

Über diesen Kurs

In dieser Python lernen wir alles über die objektorientierte Programmierung (OOP) in

Python.OOP ist nicht so schwer zu meistern wie es anfänglich scheint, also schnalle dich für eine 100% praktische Lernreise !

Was du lernen wirst

  • Die Prinzipien der objektorientierten Programmierung (OOP) mit Python.
  • Wie die Elemente der objektorientierten Programmierung hinter den Kulissen funktionieren.
  • Verstehe, wie Klassen funktionieren und wie du Instanzen aus Klassen erstellen kannst.
  • Implementieren und call Verstehe ihren Zweck in Kursen.
  • Instanzattribute und Klassenattribute definieren. Lerne ihre Unterschiede.
  • Verwende 'Selbst', um auf Instanzen zu verweisen. Lerne wie es hinter den Kulissen funktioniert.
  • Arbeiten mit Vererbung, um Code wiederzuverwenden, Design zu verbessern und Wiederholungen zu vermeiden.

Warum würdest du diesen Kurs nehmen?

  • Willst du deinen Code strukturieren und wiederverwendbarer machen können?
  • Möchten Sie Ihre Python anheben, ohne zu viel Zeit zu verbringen?
  • Hast du schon einmal durch das Thema Objektorientierte Programmierung verwirrt und wolltest einen detaillierten step-by-step

 

Inhalt & Übersicht

Mit hochwertigen Videovorträgen lernst und arbeitest du mit diesen Konzepten:

  • Kurse
  • Instanzen
  • Instance
  • Class
  • Methoden
  • Der 'Selbst' Parameter
  • Vererbung
  • .... und mehr!

Anforderungen

  • Programmierkenntnisse sind nicht erforderlich.
  • Keine Notwendigkeit Python zu installieren, kannst du Online verwenden.
  • Windows / Linux / MacOS Betriebssystem

Triff deine:n Kursleiter:in

Teacher Profile Image

Naser Jamal

Computer Engineer

Kursleiter:in

Hello, I'm Naser.

I try to simplify complicated programming topics and present them into short and bite-sized videos!

Vollständiges Profil ansehen

Skills dieses Kurses

Entwicklung Programmiersprachen Python
Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung in die objektorientierte Programmierung: Willkommen bei der kompletten objektorientierten Programmierung in Python-Masterclass. Wenn Sie Python lernen und Ihre Programmierkenntnisse auf die nächste Stufe heben möchten. Und dieser Kurs ist für dich. Sie benötigen keine Vorkenntnisse, um loszulegen. Wofür wird die objektorientierte Programmierung verwendet? Sie könnten fragen, dass OOP in der Informatik verwendet wird , um Datenstrukturen zu implementieren. Es wird auch in der Webentwicklung, Datenbanken, Data Science, künstlicher Intelligenz, Spieleentwicklung, grafischen Benutzeroberflächen und vielem mehr verwendet. In dieser Klasse lernen Sie alle Grundlagen der objektorientierten Programmierung in Python kennen und wenden sie auf Build-Anwendungen an. Also lasst uns anfangen. Sollen wir? 2. Kurse und Objekte: Hallo und willkommen zurück zu meinem Video. Heute werfen wir einen Blick auf objektorientierte Programmierung in Python, oder mit anderen Worten, o p. Mit objektorientierter Programmierung können Sie Ihre eigenen benutzerdefinierten Klassen erstellen, die Ihren Bedürfnissen entsprechen und diese Klassen verwenden durch Objekte. Was ist also wirklich ein Objekt? Sie werden überrascht sein , dass Sie täglich Objekte verwenden , ohne es zu wissen. Hier ist ein Beispiel für Objekte, die wir täglich verwenden , wenn wir beispielsweise den Typ einer Ganzzahl drucken , das werden wir erhalten. Wie Sie sehen können, heißt es Klasse Integer. Diese Zahl, die wir hier eingegeben haben, ist also ein Objekt der Klasse und ähnelt einer Zeichenfolge. Das Wort Mathematik ist hier ein Objekt der Klassenzeichenfolge. Wenn wir eine Funktion erstellen, erstellen wir in ähnlicher Weise nur ein Objekt dieser ursprünglichen Klasse , die zum Beispiel Funktion genannt wird. Jetzt haben wir festgestellt , dass die meisten Dinge, die wir in Python verwenden, Objekte ihrer eigenen Klasse sind. Lasst uns also lernen, unsere eigenen Klassen mit eigenen Funktionalitäten zu erstellen . Lassen Sie uns also eine Klasse und ihre einfachste Form erstellen. Es wird immer empfohlen , den ersten Buchstaben in unserem Klassennamen, der in diesem Fall cat ist , groß den ersten Buchstaben in unserem Klassennamen, der in diesem Fall cat ist , zu schreiben. Wenn wir diese Klasse verwenden möchten, müssen wir ein Objekt dieser Klasse erstellen. C1 ist also der Name des Objekts und es ruft die Klasse Cat auf. Und lasst uns drauf setzen und sehen, wie es aussieht. Diese Katzenklasse macht fast nichts außer dem Drucken. Ich bin eine Katze, was wirklich nicht so nützlich ist. Wir erwarten, dass unsere Klasse Namen annimmt, Alter der Benutzer Sachen machen und so weiter. diesem Grund kommt die Init-Methode ins Spiel. Alle Klassen haben eine Methode namens init, die immer ausgeführt wird wenn die Klasse initiiert wird. Wir verwenden die net-Methode, um Attribute oder andere Vorgänge zuzuweisen , die bei der Erstellung des Objekts ausgeführt werden müssen . Wenn ich zum Beispiel eine Klasse einer Person erstellen wollte, wollte ich Werte wie Name und Alter annehmen. Also definieren wir eine Klasse mit dem Namen Person. Jetzt definieren wir die Netto-Methode. Wie Sie sehen können, ist es in Klassen so ein Standardwert , dass Python automatisch das Ganze schreibt. Für mich ist das Self-Argument ein Verweis auf die aktuelle Instanz der Klasse und wird für den Zugriff auf Klassenvariablen verwendet. Lassen Sie uns nun Argumente zu unserer Klasse hinzufügen. Lassen Sie uns nun unsere Klasse verwenden, indem wir ein Objekt erstellen. Wie Sie sehen können, wenn ich den Mauszeiger über die Klammern fahre, heißt es, Parameter, Alter und Name sind nicht gefüllt. Füllen wir sie also jeweils aus. Denken Sie daran, dass es sehr notwendig ist, einen Selbstpunkt zu schreiben , bevor Sie unseren Variablen Namen und Kante zuweisen. Jetzt fügen wir unserer Klasse eine weitere Methode hinzu, die Methode, die Details über die Person ausgibt. Jetzt, da wir P1, P2 und P3 als Objekt unserer Klasse definiert haben . Sie können ihre Methode verwenden, Details abrufen. Was passiert also, wenn wir vorher ein Forth erstellen ohne die erforderlichen Variablen wie name und edge zuzuweisen , wird eine Fehlermeldung angezeigt, die besagt, dass die beiden erforderlichen Argumente fehlen. Vielleicht fragst du dich, warum ist die Init-Methode so besonders? Warum müssen wir es standardmäßig jedes Mal definieren , wenn wir eine Klasse erstellen? Denn von Natur aus erwarten wir, dass wir, wenn wir P gleich Person eingeben , die Details sofort ausfüllen und dann eine beliebige Methode für die Klasse verwenden. Zum Beispiel, wenn wir es kommentiert haben, was es für unser Programm im Grunde genommen unsichtbar macht, wie Sie diese jetzt sehen können, um ein unerwartetes Argument zu drehen. Jetzt müssen wir eine ganze Methode erstellen , die Eingaben vom Benutzer übernimmt. Zum Beispiel müssen wir jetzt die Argumente entfernen und sie über die Methode „Details einfügen“ einfügen. Jetzt können wir die Methode „ get details“ verwenden. Das ist also nicht nur für den Benutzer verwirrend bei jedem, der sich mit diesem Code befasst. Es ist auch zeitaufwändig. Und wenn überhaupt, sollte der Unterricht die Zeit verkürzen, die benötigt wird, um Dinge zu tun. Ist also die Netto-Methode notwendig? Nicht wirklich, die Klasse funktioniert ohne sie einwandfrei, aber es hilft sicherlich sehr. Dies ist also der Code ohne die net-Methode, und dies ist der Code würde dann Methode hinzufügen. Zur Zusammenfassung erstellen wir die Klasse Person und gaben ihr die folgenden Attribute, Namen und Alter. Wir haben Methoden in unserer Klasse definiert , um ihm einige Funktionalitäten zu geben, wie zum Beispiel Details abrufen. Und dann haben wir Objekte dieser Klasse namens V1, V2, V3 erstellt , und wir haben die notwendigen Parameter ausgefüllt und wir verwenden die Methode get details. Versuchen wir es also mit einem anderen Beispiel. Sagen wir zum Beispiel, wir haben einen Hund- und eine Katzenklasse erstellt, oder nehmen sie Namen und Alter an? Also lasst uns die entfernen. Offensichtlich können wir aus diesen Klassen ein Objekt erstellen. Wenn Sie bemerken, dass beide Klassen fast identisch sind, der einzige Unterschied darin, dass sie verschiedene Strings ausdrucken. Also mussten wir es zweimal schreiben , als wir eine Eltern-Allgemeinklasse hätten schreiben können , die beispielsweise die genetischen Informationen über jedes Tier enthält . Aber wie verknüpfen wir diese Kurse? Sie könnten fragen, wie können Katzen- und Hundeklassen Attribute vom allgemeineren Klassentier erben , indem Sie einfach Klammern öffnen und die Balance-Klasse eingeben, die wir hinzufügen werden in diesem Fall Tier. Jetzt haben sowohl Katzen- als auch Hundeklassen die Init-Methode vom Tier der Elternklasse geerbt, und wir müssen sie nicht mehr jedes Mal angeben. Also lasst uns weitermachen und sie entfernen. Jetzt. Lassen Sie uns unsere Methoden anwenden und sicherstellen, dass sie einwandfrei funktionieren. Wir haben also nicht nur unseren Code kürzer gemacht und gleichzeitig dieselben Funktionen beibehalten, sondern wir können jetzt auch Methoden hinzufügen, die sowohl für Katzen- als auch für Hundeklassen gelten , ohne sie speziell zu Katzen und Hund hinzufügen zu müssen. zum Beispiel. Lassen Sie uns nun diese Methode verwenden, zum Beispiel cat. Oh, ich habe vergessen, hier ein t hinzuzufügen. Obwohl wir diese Methode nicht in der Cat-Klasse definiert haben, erbt Cat diese Methoden immer noch von seiner Elternklasse Tier. Das war's also für die Grundlagen. Im nächsten Video werden wir uns die genauer ansehen Vererbung und verschiedene Arten davon genauer ansehen. Das war's also für das heutige Video. Vielen Dank fürs Zuschauen und ich hoffe, wir sehen uns beim nächsten. 3. Vererbung: Hallo und willkommen zurück zu meinem Video. Heute werfen wir einen Blick auf Arten der Vererbung und objektorientierter Programmierung in Python. Warum ist Vererbung nützlich und Biofilm, stellt sie reale Beziehungen genau dar. Es ermöglicht die Wiederverwendbarkeit von Code. Wir müssen den gleichen Code nicht immer und immer wieder neu schreiben . Es ermöglicht uns, unserer Klasse neue Funktionen hinzuzufügen , ohne sie ändern zu müssen. Es ist transitiver Natur, was impliziert, dass, wenn Klasse B von einer anderen Klasse A alle diese Unterklassen erbt, alle diese Unterklassen automatisch von Klasse A erben werden. was impliziert, dass, wenn Klasse B von einer anderen Klasse A erbt, alle diese Unterklassen automatisch von Klasse A erben werden. werfen Sie einen Blick auf verschiedene Arten der Vererbung, beginnend mit einer einzigen Vererbung. So sagen wir zum Beispiel, ich wollte eine Länderklasse schaffen , die Kanada repräsentiert. Ich hätte eine Elternklasse namens Kanada. Jetzt werden wir eine untergeordnete Klasse erstellen, die aus Kanada erbt, genannt Ottawa. Da Ottawa eine Stadt und ein Teil von Kanada ist, alle Funktionen, die Kanada hinzugefügt sollten alle Funktionen, die Kanada hinzugefügt werden, automatisch auf Auto angewendet werden. Jetzt erstelle ich ein Objekt der Child-Klasse Ottawa und verwende seine Methodenstadt. Da Auto als untergeordnete Klasse von Kanada ist, kann ich auch seinen Methoden-Ländernamen verwenden , ohne ihn innerhalb von O2 definieren zu müssen. Der zweite Typ ist beispielsweise die Mehrfachvererbung. Und Mehrfachvererbung, die Features aller Basisklassen werden in die abgeleitete Klasse vererbt. Lasst uns also zwei Elternklassen erstellen, Mutter und Vater. Jetzt werden wir einen untergeordneten Cluster erstellen von diesen beiden Klassen erbt. Lassen Sie uns nun ein Objekt aus der Klasse Sun erstellen und Features aus seiner übergeordneten Klasse verwenden. Wie Sie sehen können, konnten wir den Namen des Vaters und den Mutternamen verwenden , obwohl sie in unserer Klassensonne nicht definiert waren. Und das liegt daran, dass wir diese Namen von den beiden Klassen, Mutter und Vater, geerbt haben. Der dritte Typ ist die mehrstufige Vererbung. Erbt sowohl Basisklassen- abgeleitete Klassen-Features an die neu abgeleitete Klasse. Sehen wir uns also ein Beispiel an. Beachten Sie, dass wir in beiden untergeordneten Klassen den Konstruktor der übergeordneten Klasse aufrufen. Erstellen wir nun Objekte unserer Klassen und fangen an, sie zu verwenden. Der Grund, warum wir drei Parameter übergeben liegt darin, dass die Klasse der Sonne drei Namen annimmt. Wie Sie sehen können, funktioniert der Code einwandfrei. Was passiert also, wenn wir den Aufruf des Konstruktors der Großvater-Klasse entfernen ? Wie Sie sehen können, bricht der Code zusammen. Der vierte Typ ist die hierarchische Vererbung. Es ist eine Situation , in der die ausgeglichene Klasse von mehreren Unterklassen geerbt wird. Jetzt haben wir ein Baronglas mit zwei Kinderklassen. Denken Sie daran, dass diese beiden abgeleiteten Klassen die Funktionen und Funktionen ihrer Elternklasse verwenden können . Kind 1 kann jedoch keine Funktionen von Kanal zwei verwenden. Bisher so gut. Sie können die Klassenfunktionen des Elternteils und ihre eigenen Funktionen verwenden. dem Moment, in dem wir jedoch versucht haben, eine Funktion von Kind eins und Kind zwei zu verwenden eine Funktion von Kind eins und , erhalten wir einen Fehler. Und schließlich der fünfte Typ, Hybridvererbung. Bei dieser Art werden Merkmale von mehr als einer Vererbung gemischt, um eine hybride Vererbung zu bilden. Sehen wir uns also ein Beispiel an. Lassen Sie uns nun Objekte unserer Klassen erstellen. Lassen Sie uns abschließend sehen, wie wir all dies zusammenstellen und ein Taschenrechnerprogramm mit objektorientierten Programmierfunktionen, f-Anweisungen und While-Loops erstellen können all dies zusammenstellen und ein Taschenrechnerprogramm mit objektorientierten Programmierfunktionen, f-Anweisungen und While-Loops erstellen ein Taschenrechnerprogramm mit objektorientierten Programmierfunktionen, . Lassen Sie uns zunächst eine Taschenrechnerklasse erstellen, die alle unsere mathematischen Operationen einschließt. Jetzt müssen wir ein Objekt für unseren Klassenrechner erstellen , damit wir es verwenden können. Erstellen wir nun eine While-Schleife und setzen sie auf true und fordern den Benutzer auf, seine gewünschte mathematische Operation einzugeben . Der Vorteil der Verwendung der While-Schleife besteht darin, dass dieses Programm weiterläuft es sei denn , der Benutzer wählt fünf . In diesem Fall müssen wir eine F-Anweisung machen besagt, dass F-Wahl gleich fünf ist, dann breche, was die Schleife durchbricht. immer, lassen Sie uns mit unserem Programm fortfahren und mithilfe von f-Anweisungen eine Logik dafür erstellen. Dadurch wird sichergestellt, dass der Benutzer eine gültige Auswahl getroffen hat. Lassen Sie uns zunächst prüfen, ob der Benutzer beenden möchte oder nicht. Wenn nicht, fragen wir nach der Eingabe des Benutzers, um mit den Berechnungen fortzufahren. Lassen Sie uns nun eine F LF-Anweisung erstellen, die ihrer Wahl entspricht. Beginnen wir damit, unser Programm hinzuzufügen und zu sehen, wie es aussieht. Dann drücken wir F5, es sollte beendet werden. Aber unser Programm ist immer noch nicht perfekt. Wenn der Benutzer eingegeben hat, erhält die Zeichenfolge einen Wertefehler, da Ehefrau und keine Zeichenfolge in eine Ganzzahl konvertieren konnte. Lassen Sie uns also unsere Fähigkeiten zur Handhabung von Ausnahmen nutzen und mit diesem Erwachsenen umgehen. Wie Sie sehen können, funktioniert dies, indem Sie unseren Fehler behandeln, aber das Programm wird für uns nicht erneut ausgeführt. Dafür können wir einfach den Code unter den außer Block einfügen , sodass er beim Ausführen auch unseren Code ausführt. Jetzt gibt es natürlich Mängel bei dieser Methode. Wenn der Benutzer beispielsweise anderes Mal eine Zeichenfolge eingibt wird eine Fehlermeldung angezeigt, da wir davon ausgehen , dass er die Zelle nur einmal behandelt. Hier kommt Wiederholung ins Spiel, aber wir möchten das Video nicht zu sehr umleiten. Also haben wir uns einfach damit fertig gemacht. Abschließend müssen Sie sich nicht wirklich durch einen bestimmten und handschriftlichen Stil beschränken lassen , wie Sie sich darauf konzentrieren sollten, Ihren Code strukturiert zu halten. heißt, Sie sollten Ihrer eigenen Struktur folgen , die Ihren eigenen Bedürfnissen entspricht. Das war's also für das heutige Video. Vielen Dank fürs Zuschauen und ich hoffe, wir sehen uns beim nächsten. 4. Statische Methoden, Methods, Attributes: Hallo und willkommen zurück zu meinem Video. Heute werfen wir einen Blick auf statische Methoden, Klassenmethoden und Attribute, beginnend mit Klassenattributen. Was ist also Klassenattribute? Ein Klassenattribut ist eine Variable, die eher zu einer Klasse als zu einem bestimmten Objekt gehört . Nehmen wir also ein Beispiel. Also jetzt haben wir eine einfache Tierklasse erstellt wird dann init Methode, in der Sie den Namen des Tieres übergeben. Lassen Sie uns also eine Instanz dieser Klasse erstellen. Sie fragen sich vielleicht, was ist diese Variable hier drüben, Anzahl der Tiere? Nun, das ist ein Klassenattribut. Und was es sofort zu einem Klassenattribut macht , ist, dass es keinen selbstähnlichen Namen verwendet. Was ist also der Unterschied zwischen dieser Klasse, diesem Attribut, der Anzahl der Tiere und etwas ähnlichem Namen, zum Beispiel ändert sich ein Name von Instanz zu Instanz. Zum Beispiel hat A1 einen anderen Namen als A2. Sowohl A1 als auch A2 werden jedoch die gleiche Anzahl von Tieren haben , die Anzahl der Tiere. Es ist nicht von einer Instanz abhängig. So zum Beispiel so sehr, dass ich das Tier ableiten konnte, dass Tiere, und ich würde immer noch die gleichen Ergebnisse erzielen. heißt, ich kann von der Klasse selbst auf dieses Klassenattribut zugreifen , ohne hier eine Instanz wie diese erstellen zu müssen . Jetzt, da wir festgestellt haben, dass die Anzahl der Tiere ein Klassenattribut ist , das für die gesamte Klasse gilt. Was können wir damit machen? Erstens können wir verfolgen, wie viele Instanzen unseres Klassentieres geschaffen wurden, also wie viele Tiere wir haben. Beachten Sie zum Beispiel, dass wir Tiere nicht selbst benutzt haben, sonst hätte es uns unterschiedliche Ergebnisse gebracht. Das ist also die Grundidee hinter Klassenattributen. Es gibt natürlich einige Benutzer , z. B. in der Lage zu sein, eine Konstante zu definieren, die Sie für jede Instanz in dieser Klasse verwenden möchten. So hatten Sie zum Beispiel einen Physikunterricht bei dem Lightspeed offensichtlich eine Konstante war. Anstatt es außerhalb Ihrer Klasse als globale Variable zu definieren . Sie können es stattdessen innerhalb Ihrer Klasse als Klassenattribut definieren Ihrer Klasse als Klassenattribut , damit Sie einfacher darauf zugreifen können. Warum ist das ein besserer Ansatz? Wir möchten immer sicherstellen, dass Ihre Kurse so unabhängig wie möglich sind. heißt, wenn Sie diese Klasse irgendwann woanders verwenden würden , alle ihre Methoden und Variablen darin vordefiniert und bereit, woanders verwendet zu werden. So können Sie also Klassenattribute zu Ihrem Vorteil verwenden , indem eine beliebige Variable erstellen, die Sie möglicherweise innerhalb der Klasse benötigen, anstatt sie außerhalb als globale Variable zu erstellen. Sprechen wir nun über Klassenmethoden. Denken Sie also daran, wie wir hier drüben die Anzahl der Tiere erhöht haben. Jedes Mal, wenn eine Instanz des Klassentieres erstellt wurde, können wir das definitiv mit der Klassenmethode tun. Lassen Sie uns also eine Klassenmethode erstellen und sehen, wie sie aussieht. Wie Sie sehen können, verwenden wir TLS anstelle von sich selbst. Jetzt geben wir die Anzahl der Tiere zurück. Was wir auch tun müssen, ist, einen Klassendekorator zu verwenden , um zu bezeichnen , dass dies tatsächlich eine Klassenmethode ist. Jetzt haben wir eine Klassenmethode erstellt , die die Anzahl der Tiere zurückgibt. Wir brauchen eine Klassenmethode, die plus eins hinzufügt, sobald ein Tier oder eine Instanz erstellt wurde. Lassen Sie uns also eine andere Klassenmethode erstellen. Wie können wir also die Methode „ Tiere hinzufügen“ verwenden? Zum Beispiel können wir Tiere diese Anzahl von Tieren aus unserer Init-Methode entfernen Tieren aus unserer Init-Methode und durch Werbetiere ersetzen. Was das jetzt tun wird, ist, dass es jedes Mal die Klassenmethode Add Animals aufruft . Und es wurde aufgerufen, was bedeutet, dass jedes Mal, wenn eine Instanz des Klassentieres wie A1, A2 erstellt wurde , die Klassenmethode und die Tiere verwendet wird. Mal sehen, ob dies mit der Methode der Num Animals Klassenmethode funktioniert , zu der es zurückkehren sollte. Das waren also Klassenmethoden. Werfen wir einen Blick auf statische Methoden. Hier sind einige der Eigenschaften statischer Methoden. Erstens ist es an die Klasse gebunden. Es kann keine Klassen- oder Objektstatus ändern und kann nicht auf die Klasse und ihre Instanzvariablen zugreifen oder sie ändern . Wenn wir also ein Taschenrechnerprogramm erstellen, definieren wir manchmal Methoden wie Sie diese Methoden innerhalb einer Klasse definieren und als statische Methoden verwenden könnten diese Methoden innerhalb einer Klasse . So können wir zum Beispiel jetzt den Klassendekorator verwenden, um zu bezeichnen, dass dies eine statische Methode ist. Um diese Methoden zu verwenden, können wir, anstatt eine Instanz des Klassenrechners zu erstellen, anstatt eine Instanz des Klassenrechners zu erstellen, einfach mit dem Rechner auf sie zugreifen. Für diese Methoden muss ich also keine Instanz des Klassenrechners wie diese erstellen . Und dann benutze C1. Oh, tut mir leid. Ich könnte einfach sofort den Rechner benutzen , ohne eine Instanz erstellen zu müssen. Ich stimme zu, dass einige sagen könnten: Nun, Sie hätten diese Methoden global definieren und Werbung sofort anstelle des Rechners verwenden können, wie zum Beispiel. Es gibt einige Komplikationen. Und es geht hauptsächlich darum, Ihren Code strukturierter und organisierter zu halten . Das war's also für das heutige Video. Vielen Dank fürs Zuschauen und ich hoffe, wir sehen uns beim nächsten. 5. Importieren von Kursen: Hallo und willkommen zurück zu meinem Video. Heute werden wir uns verschiedene Methoden ansehen. Sie können Klassen bis zum Programm importieren, beginnend mit der einfachsten Methode in der sich die Datei oder Klasse, die Sie importieren, in Ihrem Workspace oder Verzeichnis befindet . Also hier haben wir zwei Python-Dateien, Männer und Test. Sie befinden sich beide im selben Verzeichnis. Also haben wir eine Klasse, einen Test, den wir bei main.py verwenden möchten. Wie Sie sehen können, hat test.py eine Klasse namens Taschenrechner und wir möchten diese importieren. Und um zu kaufen, um das zu tun, machen wir folgendes. Zuerst importieren wir den Namen der Datei. In diesem Fall ist es Test. Also lasst uns weitermachen und den Test abbrechen. Um die Klasse zu verwenden, wie jede andere Klasse müssen Sie wie jede andere Klasse eine Instanz eines Objekts dieser Klasse erstellen . Lassen Sie uns also eine Testinstanz erstellen. Wie Sie sehen können, wenn ich dot tippe, zeigt es mir, dass es eine Klasse namens Taschenrechner gibt , die ich wählen sollte, um sie zu benutzen. Also lasst uns einen Taschenrechner wählen. Jetzt können wir genau wie jede Instanz ihre Methoden und Attribute verwenden. Wie Sie sehen können, funktioniert es einwandfrei. Beachten Sie, dass ich den Namen der Datei eingeben musste, die Test ist, und dann eine bestimmte Klasse in dieser Datei auswählen musste, die einen Taschenrechner hat. Das bedeutet, dass ich mehrere Klassen innerhalb der Testdatei haben könnte , aus denen ich wählen könnte. Zum Beispiel. Lasst uns jetzt den Physikunterricht benutzen. Das geht also davon aus, dass sich die Klasse, die wir importieren, in unserem Verzeichnis befindet. Was passiert, wenn ich zum Beispiel eine Datei in der Klasse auf meinem Desktop importieren möchte. Um dies zu tun, importieren wir zuerst den Erfolg. Dann geben wir CIS-Punktpfad ein. Dann geben wir den Speicherort der Datei ein, die wir importieren möchten. Wir können den Speicherort des Phi kennen indem wir zur Datei selbst gehen. Rechtsklicken Sie und klicken Sie dann auf Eigenschaften. Jetzt importieren wir die Datei selbst, die Testdatei ist. Um es jetzt genau wie jede Klasse zu verwenden , müssen wir eine Instanz davon erstellen. Also habe ich die Klassenmathematik importiert und verwende die Methode add, um zu wissen, welche Klasse und Methoden wir in unserer Datei haben. Wir können es einfach mit Notepad öffnen. Was wir getan haben, ist wichtig. Die endgültige Testdatei erstellte dann eine Instanz der Klasse Mathematik durch Testdatei. Dann verwenden wir die Methode add innerhalb dieser Klasse. Das war's also für das heutige Video. Vielen Dank fürs Zuschauen und ich hoffe, dass wir uns im nächsten sehen werden.