Lassen Sie mich Ihnen eine Frage stellen: Was passiert, wenn diese Halo-Funktion tatsächlich einen Parameter verwendet, sagen wir
eine Zeichenfolge?
Oder ein gieriger.
Und hier sollte ein Gruß gedruckt werden.
Lassen Sie uns das Tschüss für jetzt entfernen.
Würde das noch funktionieren, wenn ich laufe?
Hallo?
Halten Sie das Video an und denken Sie darüber nach.
Lass es uns herausfinden.
Nein, das ist ein Fehler. Wenn Sie versuchen können, das Video hier zu pausieren und zu sehen, ob er das Problem lösen
kann, wie können wir dies dazu bringen, Argumente zuzulassen?
Ich sehe das hier in Zeile fünf.
Es besagt, dass in Zeile fünf hallo ein erforderliches Positionsargument zur Begrüßung fehlt, da wir,
wenn wir tatsächlich hallo aufrufen, einen Parameter erwarten.
Aber hier geben wir ihm keine Argumente.
Wie können wir das lösen?
Nun, die eine Möglichkeit besteht darin, einfach zu sagen.
Gierig, richtig, oder wir können sagen, was wir wollen, wir können X sagen und dann das.
Die Rapper-Funktion empfängt den Parameter.
Damit, wenn ich auf Ausführen klicke.
Hmm, Zeile 13 gibt mir jetzt einen Fehler, weil wir sie jetzt tatsächlich begrüßen müssen.
Sagen wir also hallo, wenn ich auf Ausführen klicke.
Alles klar, das funktioniert.
Und ich hoffe, das macht Sinn, oder?
Wir rufen hallo mit hallo.
Diese Funktion hallo geht also vorbei.
Wir dann.
Empfangen Sie als Argument, der Ex, richtig, denken Sie daran, unter der Haube sagt mein Dekorateur, dass A gleich
meinem Dekorateur ist.
Und hallo, oder?
Alles, was wir tun, ist, meinen Dekorateur zu betreiben.
Hallo.
Was sich nun in ihre Rapt-Funktion verwandelt, und wenn wir die Rapt-Funktion A ausführen. , geben wir ihm das Argument hoch,
damit die rapt-Funktion diesen Parameter akzeptiert und dann die Funktion ausführt.
Hallo.
Aber hier ist die Frage, was wäre, wenn Gridding auch ein Emoji hätte, das es akzeptiert?
Also drucken wir, grüßen und dann das Emoji.
Hm, was machen wir?
Nun, noch einmal, wir müssten einen anderen Parameter erstellen und dann einen anderen Parameter und dann hier mit, sagen wir,
einem Smiley-Gesicht aufrufen, wenn ich klicke, ausführen.
Nun, dies sollte eine Zeichenfolge sein, wenn ich auf Ausführen klicke.
Das funktioniert, aber das ist jedes Mal hektisch, wenn ich Parameter ändern muss.
Nun, ich muss das ändern.
Und was wäre, wenn wir Schlüsselwortargumente wie hätten.
Standard hoch.
Es gibt hier tatsächlich ein Muster, das wir verwenden können, das die Dinge für uns wirklich, wirklich einfach macht.
Und alles, was wir tun, ist dies, wir machen die Sternbögen, die wir gesehen haben, die
alle Positionsargumente annehmen und dann die Sternstern-Schlüsselwortbögen, die alle Schlüsselwortargumente verwenden.
Und wir nennen die Funktion by.
Saying beginnt mit dem Entpacken aller Positionsargumente und Stern-Stern-Schlüsselwortbögen, um alle Schlüsselwortargumente zu entpacken.
Wenn das jetzt verwirrend aussieht, machen Sie sich keine Sorgen, dies ist nur ein Muster, das Sie einfach kopieren und einfügen
und sich merken können, aber jetzt sehen Sie sich das an.
Sagen wir mal, ich kann Emoji gleich machen.
Saffys.
Als Schlüsselwortargument, und jetzt wenn ich nur passiere.
Hi, wie das und Hit, Run, und lass uns das auch einfach entfernen, da wir es nicht brauchen, rufen wir richtig hallo
an, weil wir den Decorator haben und dann auf Run klicken.
Schau dir das an, ich werde high von dem traurigen Gesicht.
Der Grund, warum dies als Dekorator bezeichnet wird, liegt daran, dass es ein berühmtes Muster in
der Programmierung ist, es heißt Dekoratormuster, und dies ist das Dekoratormuster.
Es gibt unserem Dekorator Flexibilität, sodass wir in der Lage sind, beliebig viele Argumente an unsere rapt-Funktion zu
übergeben, indem wir Sternbögen und Tastaturbögen verwenden und sie dann innerhalb einer Funktion entpacken.
Und diese Syntax, sagen wir, wenn wir nicht einmal die print-Anweisungen hätten, ist diese Syntax der Grund, warum Dekorateure so
mächtig sind.
Indem wir nur diese Codezeilen verwenden, können wir mithilfe des Dekoratormusters Funktionen hinzufügen, um unsere Funktionen zu
dekorieren.
Und die Decorator-Muster werden überall in der Programmierung verwendet, also ist es ein sehr, sehr mächtiges Konzept, um die
Lektion über Decorator abzuschließen.
Ich möchte mit Ihnen über einige Möglichkeiten sprechen, wie Dekoratoren nützlich sein können, und über einige der häufigsten
Orte, an denen wir Dekoratormuster in unserem Code sehen und unseren eigenen Leistungsdekorator erstellen
werden.
Das wird uns sagen können, wie unsere Funktionen funktionieren und wie schnell sie sind.
Und ich verspreche Ihnen, am Ende dieses Videos werden Dekorateure für Sie Sinn ergeben und
Sie werden anderen Leuten und anderen Freunden erklären können, warum wir Dekorateure in unseren Programmen verwenden sollten.
Ich sehe dich jetzt.
Wiedersehen.