Transkripte
1. Willkommen zu Python 201: Willkommen bei Python 21 mit Ihrem Gastgeber Caleb Talia. Das bin ich. Wenn Sie bereit sind, Ihre Python Fähigkeiten zu verbessern, dann schauen Sie bitte weiter. Dieser Kurs wird Sie von Anfänger- bis Mittelstufe Python Fähigkeiten führen. In diesem Kurs werden wir tiefer in Python Themen wie
das Nichts eintauchen und in Operatoren Dateien verwalten verschachtelte Funktionen grundsätzlich Dekoratoren,
Python-Objekte, erweiterte Scoping-Funktionsargumente, Schlüsselwortargumente, virtuelle -Umgebungen, die Pakete von Drittanbietern verwenden, mit API-Anforderungen
arbeiten und vieles mehr. Nun, wenn irgendwas von dem für Sie keinen Sinn ergibt oder Sie nicht alle wissen, sind
all diese Dinge, dieser Kurs ist absolut für Sie. Schauen Sie, um das Beste aus diesem Kurs herauszuholen, müssen
Sie einige grundlegende Python Kenntnisse wie Funktionen,
bedingte Anweisungen, Datentypen und Variablen kennen . Wenn Sie keins davon kennen, schauen
Sie sich bitte den Python 101 Kurs an, da er für Sie viel hilfreicher sein wird. In diesem Kurs wird auch davon ausgegangen, dass Sie bereits etwas Python geschrieben haben und dass Sie einen Editor wie VS Code oder PyCharm installiert haben und wissen, wie Sie ein einfaches Python-Skript ausführen. Hallo, ich erzähle Caleb und arbeite seit einigen Jahren mit Python. Ich habe mit Kunden wie Mozilla, Nasa, dem NHS in Großbritannien zusammengearbeitet. Und ich habe Tausenden von Entwicklern beigebracht, Python in verschiedenen Kursen von mir zu schreiben. Und heute werde ich dir Intermediate Python beibringen. Willkommen bei Python 201 mit Ihrem Gastgeber, Caleb Italian. Ich hoffe, Sie drinnen zu sehen.
2. Der The: Lassen Sie uns beginnen, indem wir über den in-Operator sprechen. Und so lernten
wir in Python eins zu eins über Vergleichsoperatoren. Und ich habe das gerade in einem Vergleichsoperator größer gemacht, sieht einfach so aus, als ob etwas anderem gleich ist. Nun, wenn Sie Python 101 genommen
haben, hatten wir ein kleines Projekt, in dem wir ein Stein-Papier-Scheren-Programm geschrieben haben. Und wir können dies hier in eine Python Datei ändern. Und wir sahen so etwas wie, wenn meine Antwort gleich Rock ist, und es ist eigentlich nicht gleich Rock. Und meine Antwort ist nicht gleich Papier. Und meine Antwort ist nicht gleich Schere. Und wenn ich das hier nur einen Hauch kleiner mache, beenden Sie das Programm. Und das ist alles, was es getan hat. Nun, es gibt einen besseren Weg, dies zu tun, weil wir wissen, dass die drei Antworten, die wir mit Rock,
Papier und Schere vergleichen , alle sein werden, naja, sie werden die gleichen sein. Sie werden sich nie ändern. Also, was wir tun können, ist dieser Operator, dies im Vergleich Operator. Also, was ich hier tun werde, ist, mein Terminal zu überprüfen. Und wenn ich Python 3.9 tippe, weil das die Version ist, die ich hier verwenden möchte. Ich kann einfach den in-Operator schreiben, um eine Sache mit einem Array oder einer Liste zu vergleichen. Und so bekomme ich sagen, eine Liste von Namen ist gleich. Und lasst uns das hier noch größer machen. Und die Liste der Namen ist gleich Caleb, John und Gully. Und wenn wir also Namen machen oder wenn wir Art von Namen machen, werden
wir sehen, dass dies eine Liste ist. Und nehme an, B-Namen, Namen, Plural. Da gehen wir. Das ist eine Liste. Wir sehen nichts Neues. Wir sollten bereits mit dem Datentyp einer Liste vertraut sein. Aber was wäre, wenn wir überprüfen wollten, ob eine Variable oder ein Name in einer Liste von Namen ist. Nun, was wir derzeit tun müssen, ist für Namen in Namen. Wenn mein Name, was auch immer diese Variable
ist, gleich dem Namen ist, drucken, ist dies der Name. Und so ist das irgendwie ehrlich keine Möglichkeit, dein Leben zu leben, denn was wäre, wenn du ,
wenn deine Liste, aber wenn du ein Strahl bist,
wirklich groß ist , was ist, wenn du 1000 Gegenstände drin hast, dann musst du über
1000 iterieren verschiedene Artikel, nur um herauszufinden, ob etwas drin ist. Python hat dies eingebaut. Also werde ich hier tun, ist Control-C nur Rat. Und ich kann Caleb sagen, als eine Zeichenfolge in Namen und das wird als wahr herauskommen. Ich könnte auch dasselbe mit einem Kleinbuchstaben k sagen und das wird falsch sein, weil unsere Namen Caleb, John und Gully haben. Aber denken Sie daran, wenn wir Strings in Python 101 vergleichen, ist
eine Zeichenfolge mit einem Großbuchstaben K nicht dasselbe wie eine Zeichenfolge mit einem Kleinbuchstaben k ,
also das gleiche mit einem J oder einem g oder einem anderen Buchstaben. Tatsache ist, dass es genau übereinstimmen muss. Und so ist
dies im ersten Beispiel hier eine exakte Übereinstimmung. Und was ich hier tun kann, ist, wenn ich das noch einmal austippe, kann
ich sagen, wenn Golly in Namen, Druck, Golly in der Liste der Namen ist. Und wir sehen, dass Gully in der Liste der Namen ist. Und so ist dies eine wirklich, wirklich einfache Möglichkeit zu überprüfen, ob eine Antwort in einer Reihe von Antworten ist, einer möglichen Anzahl von Antworten. Und wenn wir also zu unserem Beispiel hier zurückkehren, werde
ich das einfach ein bisschen nach unten ziehen und das etwas kleiner machen. Wenn wir hier zu dieser Antwort zurückkehren, werden
wir sagen, wenn meine Antwort nicht erschüttert ist, ist
meine Antwort kein Papier. Wenn meine Antwort ist keine Schere, Was ich stattdessen sagen kann, ist, wenn meine Antwort, was auch immer das ist. Und statt gleich oder gleich, können
wir in einer Liste von Optionen sagen. Und so müssen wir dies nur in einer Liste übergeben und wir können einfach eine Liste von Optionen hinzufügen. Und lassen Sie uns tatsächlich diese Variablen existieren. Also können wir sagen, Meine Antwort ist gleich Rock. Und lassen Sie uns die Optionen machen, um eine Liste von Rock, Papier und Schere zu sein. Und jetzt können wir sagen, wenn meine Antwort, Rock ist einer von diesen drei, dann tun Sie etwas. Wir können „Drucken“ sagen. Rock ist eine der möglichen Optionen. Nun gehen wir voran und speichern Sie diese Datei als den in-Operator. Und ich werde tun, tun, tun, tun, tun, einfach rauskommen. Und ich werde Python in Operator dot py eingeben. Und es sagt, Rock ist eine der möglichen Lösungen. Was ist, wenn ich das ändere? Was, wenn ich es von Rock in etwas anderes ändere? Buchstäblich alles, was wir sagen könnten, etwas unterstreichen und wir werden sehen, dass dies nichts mehr für uns druckt. Und das liegt daran, wenn es eine andere Aussage gäbe, würde
dies für uns ausgeführt werden. Falsche Antwort drucken. Versuchen Sie es noch einmal. Und das ist probieren Sie das aus und wir sehen eine falsche Antwort. Versuchen Sie es noch einmal. Jetzt, wo dies ein wenig mächtiger wird, ist, und wieder haben wir dies in Python 101 angesprochen. Das ist also ein bisschen wie ein Rückblick. Anstatt zu sagen, dass meine Antwort gleich einem hartcodierten Wert ist, könnten
wir sagen, Eingabe. Was ist Ihre Antwort? Und wenn diese Antwort gleich Rock, Papier, Schere ist, dann wird es sagen, dass eine davon keine Option ist. Wir können sagen, dass die Option eine praktikable Option ist. Sonst wird es falsche Antwort sagen, versuchen Sie es erneut. Also lassen Sie uns das speichern und lassen Sie uns das eine Chance geben. Es steht, was ist Ihre Antwort? Wenn ich Rock eintippe. Nein, lass uns nicht rocken. Wir haben schon geklaut. Lasst uns Papier machen. Diese Option ist praktikable Option. Versuchen wir es noch einmal. Es steht, was ist Ihre Antwort? Meine Antwort wird Python sein. Python ein Ja, weil ich aus irgendeinem Grund einen Zed drin habe. Und es steht, falsche Antwort, versuchen Sie es erneut. Und so sagt der in-Operator nur IN einfach, ist das Ding auf der linken Seite, innerhalb des iterierbaren, auf der rechten Seite. Wenn dies der Fall ist, wenn es wahr ist, dann führen Sie diese bedingte Anweisung aus. Wenn nicht, dann ist es falsch. Führen Sie die else-Anweisung aus, oder ursprünglich hatten wir nichts, also tun Sie überhaupt nichts. Wenn ich das auskommentieren würde, können
wir das Gleiche mit einem Wörterbuch machen. Lassen Sie uns also einen Wert geben, keinen Wert, sondern eine Variable namens Schlüssel. Und das wird Name sein. Und wir könnten eine Person im Wörterbuchnamen erstellen. Caleb, Beruf, Codierungslehrer. Und dann können wir sagen, ob Schlüssel in Person, Drucken, Name ist ein gültiger Wörterbuchschlüssel in der Person Objekt. Also lassen Sie uns voran und geben dem eine Chance. Nun lasst uns, lasst uns Python Raum in Unterstrich Operator dot py eingeben. Und es sagt Name als gültiger Wörterbuchschlüssel im Person-Objekt. Was, wenn wir den Schlüssel hier ändern? Was ist, wenn wir es in etwas ändern, das fehlt? Nichts passiert. Und das ist, weil das, wonach das sucht, der Schlüssel ist. Und denken Sie daran, dass wir im Wörterbuch ein Schlüssel-Wert-Paar haben. Es sucht nach dem Schlüssel da drin. Und so gibt es eine Person mit einem Schlüssel von Fluorophor nicht, aber eine Person mit einem Schlüssel des Namens existiert. Und so können wir den in-Operator auch in einem Wörterbuch verwenden. Wir können es auch in einem Tupple verwenden. Nun, was ich möchte, dass Sie tun, um dies wieder auszuprobieren, ein wenig praktische Erfahrung ist, ich möchte, dass Sie den in-Operator für ein Set verwenden. Das ist ein Python Datentyp. Wir haben davon in Python 101 gelernt. Und ich möchte, dass Sie den in-Operator für einen Satz verwenden, kein Wörterbuch und kein Tupel, keine Liste, sondern einen Satz. Ich möchte, dass du siehst, ob das für dich funktioniert. Wenn es funktioniert oder nicht für Sie funktioniert. Weil wir an dieser Stelle in Python auf mittlerer Ebene einsteigen. Es ist Zeit, dass wir anfangen zu erkunden und aufhören sich darauf zu verlassen, dass jemand Ihnen alles zeigt, was passieren kann oder nicht. Es ist an der Zeit, selbst zu erforschen und zu lernen. Und so ist es wirklich wichtig, dass Sie
das tun können , weil Sie irgendwann einen Job haben werden. Und in diesem Job werden sie dich bitten, eine
Art einzigartiges Feature zu erstellen , und es wird kein Tutorial dafür geben. Es wird keine Person geben, die deine Hand dafür hält. Sie müssen selbst etwas experimentelles kleines bisschen experimentieren und Ihre eigenen Lösungen finden. Und das ist einfach eine
wirklich gute reale Erfahrung, wenn es darum geht,
nur zu experimentieren und Sie werden nichts brechen. Also fühlen Sie sich frei zu experimentieren und wenn es nicht funktioniert, funktioniert es nicht. Wenn Sie einen Fehler erhalten, können Sie erfahren, worum es bei diesem Fehler geht. Aber geh weiter und gib dem eine Chance. Sagen Sie, wenn der Schlüssel in einer Art von festgelegtem Datentyp ist, dann drucken Sie einfach etwas. Das ist alles, was wir tun müssen.
3. Der NICHT Betreiber: Werfen wir einen Blick auf den NOT-Operator. Also lernten wir über bedingte Aussagen und wir sagten etwas, wie wenn etwas
gleich etwas anderem ist , Tun Sie eine Sache. Und das ist cool. Und wir haben auch davon gelernt. Wenn etwas nicht etwas anderes gleich ist, tun Sie etwas. Aber was, wenn wir das nicht einfach ausschreiben wollen? Nun, wir haben eine Abkürzung. Wir können sagen, wenn etwas wahr ist, ob diese Zeichenfolge wahr ist, das Wörterbuch wahr ist, die Liste wahr ist, der Boolean ist wahr. Ist es wirklich wichtig, ob etwas wahr ist? Dann tun Sie etwas. Aber was, wenn wir sagen wollen, wenn etwas falsch ist? Also lasst uns voran gehen und hier ein Beispiel aufstellen. Wir werden sagen, mein Ding ist gleich wahr. Nur um dieses Beispiel einzurichten, wenn mein Ding, drucken Sache wahr war. Und wenn wir dies ausführen, können
wir Python tun, nicht den Operator dot py. Und da steht, dass die Sache wahr war. Und das liegt daran, dass es wirklich darauf hinausläuft. Was ist, wenn wir genau das Gegenteil wollen? Will momentan, wir müssen das tun. Wir müssen Pass schreiben und dann eine else Aussage machen. Drucken Sache ist nicht wahr. Und lasst uns gehen und das in falsch ändern, nur damit wir das ausführen können. Das Ding ist also falsch. Das wird nicht passieren. Das andere wird dann hingerichtet werden. Und es wird sagen, dass das nicht wahr ist. Also, wenn wir das wieder ausführen, sicher genug, sagt es, dass das nicht wahr ist. Jetzt ist das genau dasselbe wie zu sagen Ist gleich falsch. Was genau das gleiche ist wie zu sagen, ist nicht gleich wahr. Und lasst uns einfach dieses Beispiel aufräumen und das noch einmal ausführen. Dies wird sagen, das ist nicht wahr, weil falsch ist nicht wahr. In der Tat ist das nicht wahr. Diese Aussage ist wahr, weil sie falsch sagt. Ist das das Gleiche wahr? Nein. Ok. Nun, dann ist es eine wahre Aussage und hier wird es ein bisschen verwirrend. Also in Bezug auf Python, wir gerne Dinge zu verknüpfen, wann immer möglich. Und wir sagen einfach, wenn mein Ding wahr ist,
drucken Sie hier eine Aussage aus. Nun, wenn wir das ausführen, werden
wir sehen, dass dies einfach nicht läuft, dies führt überhaupt nichts aus. Was wir stattdessen sagen können, ist der NOT-Operator. Und so sehen
Sie in anderen Programmiersprachen ein Ausrufezeichen vor Ihrer Variablen. Sie sehen es viel in PHP, und Sie sehen es viel in JavaScript. In Python tun wir das nicht in Python. Wir möchten, dass unser Code schön und lesbar ist. Wir wollen also keine verrückten kleinen Symbole überall, als hätten wir heutzutage kein JavaScript. Wir sagen einfach, wenn etwas nicht wahr ist und es buchstäblich einen Satz für uns macht. Wenn etwas nicht, und es sucht, ist es immer auf der Suche nach einem wahren Wert. Also, wenn es nicht wahr ist, aka, wenn das falsch ist, drucken Sie hier eine Anweisung aus. Lasst uns das retten. Und wir werden sehen, dass dies jetzt eine Aussage ausdruckt, die besagt, eine Aussage zu drucken. Und hier, wie wir erwartet haben. Jetzt lassen Sie uns weiter gehen und ein weiteres Beispiel erstellen. Name ist gleich K_1 als g. Wir können sagen, wenn der Name nicht in. Sehen Sie sich das jetzt an, wir mischen den In-Operator mit nicht. Und wir müssen uns eine Liste von Namen geben. Caleb, John Golly. Also, wenn cane ascii ist nicht in einer Liste mit diesen Namen in ihm, drucken, cane ist nicht Teil des Clubs. Und wenn wir das ausführen, werden
wir zuerst in dieser Print-Anweisung hier oben sehen, damit wir das einfach ignorieren können. Aber dann sehen wir die Druckaussage in Zeile neun. Und sicher genug, die ursprüngliche Druckanweisung erscheint aus Zeile vier. Und dann von Linie neun heißt es, dass Kain nicht Teil des Clubs ist. Und was wir hier sagen, ist, wenn der Name nicht in dieser speziellen Liste oder einem Array von Namen ist, tun Sie etwas. Und mit dem nicht Operator kommt eine Menge Kraft. Wir können jetzt prüfen, ob die Dinge das Gegenteil sind. Wir waren nicht in der Lage, das in Python eins zu eins Python 101 zu tun, wir mussten den langen Weg in Python 201 nehmen, Zwischenstufe Python, die wir wissen müssen, als nicht Schlüsselwort ist etwas nicht wahr, ist etwas nicht in einer anderen Liste ist etwas, das nicht etwas anderes. Jetzt ist eine Sache zu beachten, in der Regel, wenn wir Dinge wie Strings vergleichen, können
wir den Namen eins gleich K_1 haben, name2 ist gleich Caleb. In der Regel tun wir das nicht. Wir schreiben nicht, wenn Name eins, nicht Name2, drucken verschiedene Namen, weil dies einfach nicht wirklich Sinn ergibt. Wenn der Name 1 nicht nach benannt ist. Ich meine, ja, es gibt eine Möglichkeit, mit dem is Operator so zu vergleichen, aber wir machen es eigentlich nicht so. Der Operator ist ein spezielles auf dem is Operator bedeutet, Teile des Speichers zu vergleichen, nicht nur der Wert
, der Zuckerrohr oder Caleb sein könnte. Und was wir normalerweise sagen, ist, wenn wir Strings vergleichen, wenn der Name eins nicht name2 ist und wir es mit diesem Operator tun. Aber wenn wir mit dem Nicht-Operator in einer Liste arbeiten, legen
wir es in die Mitte. Und wenn wir den Nicht-Operator vor etwas stellen, überprüfen
wir, ob es falsch ist. Und wenn Sie das buchstäblich wie ein normaler Satz lesen, macht
es viel sinnvoller. Wenn etwas nicht wahr ist, Aussage. Wenn der Name nicht in einer Liste aufgeführt ist, tun Sie etwas. Und wenn eine Person nicht die gleiche wie eine zweite Person ist, tun Sie eine andere Sache. Und das ist der NOT-Operator. Ich möchte, dass Sie die ersten beiden Beispiele hier machen. Lassen Sie uns das loswerden und machen Sie einfach die ersten beiden Beispiele. Versuchen Sie, einen booleschen Wert zu überprüfen, und versuchen Sie dann, eine Liste wie diese zu überprüfen. Stellen Sie sicher, dass Sie den NOT-Operator in beiden Situationen verwenden. Und das Ziel hier ist nicht, ein Experte beim nicht Operator zu werden, weil es ehrlich gesagt ist, es ist eine ziemlich einfache Sache, zum größten Teil zu lernen. Die Idee hier ist, einfach ein paar praktische Erfahrungen zu sammeln, zu lernen, wie entgegengesetzter Code funktioniert. Wenn ich nicht Teil eines Clubs bin, kann ich nicht betreten. Wenn ich nicht reich bin, kann
ich keine Yacht kaufen. Wenn jemand eine Benutzereingabe eingibt und sie leer ist, wäre das falsch. Sie könnten also sagen, wenn nicht UserInput, dann können Sie das Skript beenden oder ihnen sagen, mehr Inhalt einzugeben oder das Skript erneut einzugeben. Also geh weiter und probiere das noch einmal aus. Das Ziel hier ist nur Übung. Wir wollen nur üben, üben, üben. So wirst du gut werden. Sie müssen nur üben, üben, üben. Also probieren Sie das aus, geben Sie es einen Schuss und wenn Sie stecken bleiben oder, oder diese Erklärung war nicht gut genug, fühlen Sie sich frei, einen Kommentar unten oder in der Lerngruppe Facebook-Code zu hinterlassen. Ich bin immer da, um mir zu helfen. Lassen Sie uns in der nächsten Lektion über das Lesen von Dateien sprechen.
4. So kannst du Dateien mit Python lesen: Okay, lassen Sie uns darüber reden, wie wir Dateien lesen können. Und so öffnen wir Dateien in Python mit diesem Ding, der als Context-Manager bezeichnet wird. Jetzt werden wir nicht zu sehr in die Details eines Context-Managers eingehen. Es ist ein bisschen eine andere Art, eine Datei zu öffnen, besonders wenn Sie aus einer anderen Programmiersprache kommen. Aber es ist auch sehr Speicherleistung,
was bedeutet, dass Sie Ihren Computer nicht versehentlich brechen können, bis das Lesen von Dateien
so einfach ist wie mit öffnen Sie Ihren Dateinamen, r zum Lesen als Datei. Und dann können wir so etwas wie drucken file.js. Und das war's. Das ist alles, was es dazu gibt. Jetzt müssen wir hier eine Datei erstellen. Also lassen Sie uns voran und erstellen Sie eine neue Datei, und nennen wir es lesen Sie mich dot TXT. Hallo von Python 201. Das wird mir diese Lese sagen. Und was wir hier in dieser Lese-Dateien Dot Py Datei tun werden, werden
wir einfach diese Readme-Datei öffnen und ausdrucken, was da drin ist. Und so konnten wir sagen, mit open read me 2.txt, das ist der Dateiname Komma. R steht für lesen als. Und dann geben wir ihm eine Art Variablennamen, wir können es Datei nennen. Wir versuchen, f nicht mehr zu verwenden, weil F irgendwie kurz für ein F Strings ist. Also wollen wir das in Python nicht verwirren. Also schreiben wir normalerweise einfach etwas wie Datei oder CTX für Kontext oder so etwas, ist nicht wirklich wichtig. Es ist nur ein Variablenname. Und dann können wir sagen, Druckdatei Punkt. Und Sie können sehen, dass VS Code bereits versucht, Dinge für mich automatisch zu füllen. Also, wenn ich einfach hier unten gehe, kann ich lesen klicken. Und das ist eine Funktion, das ist eine Methode. Es wird tatsächlich eine Art Logik ausführen, und so braucht es diese Klammern. Gehen wir voran und speichern Sie das und führen Sie diese Datei in Ihrem Terminal aus. Lassen Sie uns Python lesen Dateien dot py und es sagt Hallo von Python 201. Sie werden feststellen, dass da auch eine leere Zeile drin ist. Und wenn wir hierher zurückgehen, bin ich sicher genug, ich bin mir ziemlich sicher, dass es eine leere Zeile zwei geben wird. Und ja, da ist er. Leere Zeile dazu ist eine neue Zeile. Lasst uns das retten. Es gibt eine leere Zeile drei. Hallo von Python 201. Das ist eine neue Zeile. Und das ist wirklich alles, was es gibt, um Dateien zu lesen. Jetzt ist die Sache, wenn Sie eine Datei lesen oder wenn Sie mit Dateien zu tun haben. Dieser Kontextmanager,
der das Schlüsselwort width verwendet , bedeutet einfach, dass wir keinen Zugriff auf eine Datei außerhalb dieser Einrückung haben. Also, wenn wir dies auskommentieren und wir geben Pass und dann versuchen wir, Datei Punkt lesen zu drucken. Mal sehen, was hier passieren wird. Es sagt Wert Fehler IO-Operation auf geschlossene Datei. Es versucht, diese Datei zu lesen, aber sie wurde bereits geschlossen. Was Python also tun wird, ist zu sagen, mit der Readme-Punkt-TXT-Datei, die als Lesestatus geöffnet ist, nicht als Schreibstatus oder so etwas. Nur ein Lesestatus wird das einer Variablen namens Datei zuweisen. Und dann wird diese Datei Umfang sein. Diese Dateivariable wird hier auf diese Einrückung beschränkt sein. Und wenn es dann bis zum Ende der Einrückung kommt, was es in Zeile fünf tut, wird
es diese Datei automatisch für uns schließen,
so dass wir uns keine Sorgen über das Schließen der Datei überhaupt machen müssen. Python wird das für uns tun. Dies ist eine sichere Möglichkeit, Ihre Dateien zu öffnen. Nun, was ich möchte, dass Sie
hier als ein bisschen Hausaufgaben machen , ist, gehen Sie voran und erstellen Sie eine neue Datei namens README dot TXT. Und schreib das aus, um offen zu tun. Und dann Ihr Dateiname, Komma r für Lesen als eine Art Variablenname, und drucken Sie das dann aus. Und ich werde das aufräumen, weil wir das nicht brauchen. Und dann alles, was wir tun, ist dieser Variablenname. Ich nenne es einfach Datei Punkt lesen, und das wird die Datei für uns auslesen. Also geh weiter und gib dem einen Schuss. Fühlen Sie sich frei, das Video direkt hier zu pausieren. Es gibt noch eine Sache, die ich dir zeigen möchte, aber ich würde gerne, wenn du das Video hier pausieren und es einfach ausprobieren könntest. Jetzt gibt es noch eine Sache, die wir tun können, wenn wir wollen der Inhalt dieser Datei in einer Variablen gespeichert wird dass
der Inhalt dieser Datei in einer Variablen gespeichert wird, die außerhalb des Width-Schlüsselworts hier oder der Einrückung hier zugänglich ist. Wir könnten einfach sagen, etwas wie Inhalt ist gleich file.js lesen. Und dann hier unten können wir „Drucken“ sagen. Der Inhalt ist Inhalt. Und wenn wir das versuchen, werden
wir sehen, dass das funktioniert. Es sagt, der Inhalt ist Hallo von Python zwei zu einem, das ist eine neue Zeile und es gibt eine leere Zeile darin. Und so haben wir jetzt Zugriff auf die, im Grunde den gesamten Inhalt dieser Datei. Aber außerhalb des Context-Managers, den wir mit dem Width-Schlüsselwort geöffnet haben. Warum ist das wichtig? Nun, das ist wichtig, weil wir einen Context-Manager haben. Wir haben den Inhalt der Datei in einer Variablen namens content gespeichert. Und dann hinter den Kulissen schließt
Python diese Datei. Es hat es für uns getan, also verwendet es nicht zu viel Speicher, es versucht, so effizient wie möglich zu sein. Und weil ehrlich gesagt viele Leute vergessen, ihre Dateien zu schließen, ist
dies ein sicherer Weg, dies zu tun. Und dann können wir auf diese Inhaltsvariable außerhalb des Context-Managers zugreifen. Jetzt möchte ich auch, dass du das hier eine Chance gibst. Es gibt also zwei Aufgaben für dieses besondere Stück Hausaufgaben. Eine besteht darin, eine einfache TXT-Datei zu öffnen und dann zu drucken. Und eine andere besteht darin, den Inhalt dieser Datei,
die Sie öffnen, einer Variablen zuzuweisen und dann außerhalb des Kontextmanagers darauf zuzugreifen, die width -Anweisung, einschließlich der Einrückung, um sicherzustellen, dass sie von außerhalb von das. Probieren Sie das aus und wenn Sie bereit sind, sehen wir uns im nächsten Video.
5. So kannst du Dateien mit Python erstellen: In der letzten Lektion haben wir uns angesehen, wie wir Dateien öffnen und einfach lesen können, aber wir können auch Dateien schreiben. Wir können ganz neue Dateien erstellen. Und so lassen Sie uns voran und erstellen Sie eine brandneue Datei von Grund auf mit Python. Und so sieht es so aus mit Open und dann mit Ihrem Dateinamen. Sagen wir also, Dateien zu schreiben, data.txt. Das ist also die Schreibdateien Dot Py Datei. Wir werden das Schreiben von file.txt tun. Wir werden diese Akte erstellen. Und dann in der letzten Lektion haben wir r zum Lesen verwendet. In dieser Lektion werden wir w verwenden, um als Datei zu schreiben. Jetzt haben wir einen Context-Manager. Diese Datei wird also nur so lange geöffnet sein, wie wir unseren Code hier einrücken. Dann können wir sagen, Datei Punkt schreiben. Hallo von Python 201. Lassen Sie uns voran und führen Sie diese Datei durch Eingabe von Python, Schreiben von Dateien dot pi. Und wir werden sehen, wie eine neue Akte hier auf der linken Seite erscheint. Und schauen Sie sich an, dass das Schreiben von file.txt erscheint. Boom, es sagt Hallo von Python zu eins. Was passiert, wenn wir das nochmal ausführen? Lets schreiben Hallo von Python 21 zweites Mal, speichern Sie das, und lassen Sie uns dies ausführen. Nun, denken Sie, dass dies an
die schreibende file.txt Datei anhängt oder denken Sie, dass es überschreiben wird? Also wird es Hallo von Python zu einem sagen, Hallo von Python zu 1 Sekunde? Oder wird es einfach ein zweites Mal Hallo vom Python -Tool
als eine einzelne Zeile in dieser Datei sagen . Das sind lustige kleine Experimente, die wir haben, während wir Python lernen. Schauen wir uns das an. Klicken Sie auf, und es überschrieben die gesamte Datei. Nun, wenn Sie jemals an eine Datei anhängen möchten, ist das wirklich einfach. Ein steht für append. Wir machen eine und das wird eine zweite Zeile sein. Gehen wir voran und führen das aus. Überprüfen Sie unsere schreiben file.txt Datei. Und da steht, oh, es ist eigentlich nicht als zweite Zeile. Aber es hat sich hier an das Ende angehängt. Also ging es bis zum Ende
der Datei und es schrieb mehr, was wir eigentlich hier tun wollen. Und das ist ein gutes Beispiel. Ich bin wirklich froh, dass das gekommen
ist, ist, dass wir Schrägstrich n. Und so sehen wir diese nicht wirklich in Dateien, aber in dieser Datei hier, wo der Doppelpunkt ist und es geht zu einer neuen Zeile, gibt es tatsächlich ein verstecktes Zeichen da drin. Es ist ein Schrägstrich n für neue Linie. Und wir können die neue Zeile hier drinnen schreiben. Wir können auch eine neue Zeile und einen Tab-Schrägstrich t hinzufügen. Lassen Sie uns voran gehen und dies ausführen und sehen, wie sich das herausstellt. Also haben wir Hallo von Python 21, zweite Zeile, das ist, weil ich tatsächlich durcheinander gebracht habe. Ich werde das nicht mal bearbeiten. Ich möchte Ihnen zeigen, dass selbst erfahrene Programmierer wie ich Fehler machen werden. Das ist völlig normal. Eine zweite Zeile, weil wir das ein zweites Mal durchlaufen haben. Und ein Tab hier drin, merkt
man, dass es keine Leerzeichen sind. Dies ist eigentlich ein Tab und es besagt, dass dies Registerkarten ist. Also, jetzt können wir Dateien schreiben. Und damit können wir Benutzereingaben nehmen und wir können Dateien direkt aus Benutzereingaben schreiben. Aber lassen Sie uns noch nicht so weit voran springen. Lassen Sie uns in der nächsten Lektion fortfahren und mehrere Zeilen gleichzeitig lesen. Also, wie öffnen wir diese Datei? Aber wie bekommen wir dann diese Linie und diese Linie und diese Linie? Wie machen wir das? Aber bevor wir zur nächsten Lektion gehen, möchte
ich, dass Sie als Ihre Aufgabe
tun einen Kontextmanager mit dem Schlüsselwort width
öffnen, eine Datei öffnen, benennen, was immer Sie wollen. Verwenden Sie die Schreibeigenschaft W. Also W steht für Recht, und wir setzen W für kurz wie eine Art Datei. Und dann die Kontext-Manager-Datei Punkt rechts, und dann eine neue Zeile. Und Sie können einen Schrägstrich n für eine neue Zeile einfügen, wenn Sie möchten oder Schrägstrich t. Und wenn Sie das fertig sind, versuchen Sie, diese Datei anzuhängen. Also wird das Schreiben die Datei jedes Mal überschreiben. A wird an diese Datei anhängen, fügen Sie sie am Ende hinzu. Probieren Sie das aus, und wenn Sie bereit sind, schauen wir uns an, wie wir mehrere Zeilen gleichzeitig lesen können.
6. Wie du mehrere Linien in Python liest: Ok, willkommen. Werfen wir einen Blick darauf, wie wir mehrere Zeilen gleichzeitig lesen können. Jetzt denkst du vielleicht, warum ist das wichtig? Aber wenn ich Ihnen eine Liste von
100 E-Mails geben würde und ich wollte, dass Sie diejenige finden, die meinen Namen darin hat. Wie sollen wir das machen? Und das ist eine Menge wie das Schaben von Daten aus dem Internet, was eine sehr, sehr häufige Sache ist. Also, bevor alles, lassen Sie uns voran und erstellen Sie eine neue Datei. Und das wird nur E-Mails 2.txt genannt werden. Es wird eine E-Mail an gmail.com geben, E-Mail an E-Mail drei. Und dann lassen Sie uns Caleb auf gmail.com setzen. Lassen Sie uns John auf gmail.com setzen und Gully auf Hotmail.com setzen. Also haben wir hier sechs E-Mail-Adressen. Und wir wollen versuchen herauszufinden, ob, sagen
wir Caleb, edgy.mil dot com hier drin ist. Wie machen wir das? Nun, zuerst müssen wir das öffnen. Wir sagen, mit offenen E-Mails 2.txt, Lasst uns es einfach lesen. Wir müssen es nicht schreiben oder als E-Mails anhängen. Und was wir hier tun können, ist E-Mails Punkt lesen Zeilen. Und wenn ich das ausdrucke, werden
wir sehen, dass das sehr, sehr vertraut aussehen wird. Damit ich tippen kann, lasst uns das klar machen. Und ich kann Python mehrere Zeilen lesen und Dot Py eingeben. Und würdest du dir das ansehen? Das ist plötzlich ein Array. Das erste Element hier ist also eine E-Mail an gmail.com. E-Mail an drei Caleb a Gmail, John bei Gmail Gully bei Hotmail. Dies ist ein Array. Wir können jetzt mit einem Array arbeiten. Das ist spannend, weil wir hier schönere Abkürzungen nehmen können. Also lassen Sie uns voran und werfen dies in eine Variable namens E-Mails. Und wir müssen nicht mehr innerhalb dieses Context-Managers arbeiten. Seine Arbeit ist erledigt. Wir können nun auf alle diese E-Mails als Array oder als Liste zugreifen, wie wir es in Python nennen. Wir können auf alle diese E-Mails in
einer Liste und eine Variable namens E-Mails zugreifen , so einfach wie das. So können wir jetzt für E-Mail sagen, in E-Mails, drucken, suchen, sagen wir nein, lassen Sie uns nach einem Hotmail-Konto suchen. Suchen Sie nach einem Hotmail-Konto. Dann können wir sagen, wenn Hotmail in dieser speziellen E-Mail ist, können
wir den in-Operator verwenden, um zu überprüfen, ob eine Zeichenfolge innerhalb einer anderen Zeichenfolge ist. Drucken Sie die gesamte E-Mail. Und so wird das alle E-Mails in einer Datei herausfiltern und uns alle geben, die Hotmail darin haben. Lassen Sie uns voran und führen Sie diesen Code und wir werden sehen Suche nach Hotmail-Konto, Suche nach Hotmail-Konto auf der Suche nach heißer Milch. Oh, sieh dir das an. Bei Hotmail.com für schuldig befunden. Lassen Sie uns fortfahren und diese Druckanweisung löschen, weil das nicht nützlich ist. Nehmen wir an, wir wollten nur das Gmail-Konto. Das wird also diejenige herausfiltern, die Gully am Hub bei Hotmail.com sagte. Wir führen diese und E-Mail ein, E-Mail an E-Mail drei, Caleb und John. Was ist mit dem Abstand los? Nun, dieser Abstand ist, weil, wenn ich wieder nach oben scrolle, Sie bemerken, dass Schrägstrich n. Und wir haben darüber in der letzten Lektion gesprochen. Schrägstrich n bedeutet neue Linie. Und was wir hier tun wollen, ist, dass wir diese E-Mail nehmen wollen und wir wollen sie einfach trimmen. Jetzt verwenden
wir in anderen Programmiersprachen das Wort trimmen. In Python verwenden wir linkes Trimmen oder rechtes Trimmen, und wir nennen es überhaupt nicht trimmen. Tatsächlich nennen wir es „Strip“. Also unser Strip und alles, was tun wird, ist, die Linien da drin zu nehmen. Also, wenn wir das nochmal ausführen, werden wir nicht all diese zusätzlichen Leerzeichen sehen. Und in der Tat wollen wir es nicht sein, weil wir es drucken. Das wird nichts für uns ausdrucken. Wir wollen ändern, was in unseren Terminals exponiert wird. Wir ziehen uns hier ab. Und wenn wir das noch einmal ausführen, lassen Sie uns den Schwebevorgang dort loswerden. Wir führen das noch einmal. Da gehen wir. Es wird diese zusätzliche Linie für uns loswerden. Und wieder, der Grund, der passiert, ist, dass, wenn wir alle diese E-Mails drucken, wir werden sehen, dass dieses Array hier, diese Liste, diese Python Liste hat einen Schrägstrich n am Ende. Und das liegt daran, dass am Ende jeder Zeile ein Schrägstrich n. Es ist ein unsichtbares Zeichen, wir sehen es nicht, aber es ist da. Und das sagt dem Programm, das dem Computer sagt, dass es hier eine neue Zeile gibt. Und so alles, was wir tun, ist zu sagen, hey, anstatt Schrägstrich n dort zu haben, entfernen Sie es aus. Nun, was ich möchte, dass Sie als Ihre Aufgabe tun, ist etwas einfacher. Versuchen Sie einfach, eine Datei namens e-mails dot TXT zu öffnen. Werfen Sie eine Reihe von E-Mails da rein, stellen Sie sicher, dass es lesbar ist. Und dann möchte ich einfach, dass Sie jede E-Mail durchlaufen und die E-Mail ausdrucken. Probieren Sie das aus. Und wenn Sie bemerken, dass Sie zusätzliche Zeilen drin haben,
versuchen Sie, unseren Streifen zu verwenden, der einfach
den Schrägstrich n am Ende jedes Wertes loswird . Gehen Sie vor und machen Sie mir einen soliden, probieren Sie das aus. Es wird nicht so aussehen, als wäre das im Moment eigentlich super nützlich. Aber wenn Sie in Web-Scraping bekommen, was Google tut, Google kratzt jede einzelne Website auf der, Internet und indiziert sie in einer Datenbank. Es sucht nach Strings innerhalb von Strings. Es schleift sich durch jede einzelne Seite da draußen. Anstatt jede einzelne E-Mail durchlaufen zu müssen, könnte
es sich um jede einzelne Website handeln. Und dann wird es etwas tun. Und das könnte alles in einer einzigen Datei gespeichert werden. Das ist also ein lustiges Beispiel aus der realen Welt. Ja, probiere es auf jeden Fall aus. Und wenn Sie bereit sind, gehen wir über die nächste Lektion,
wo wir tatsächlich einen Benutzer um einige Benutzereingaben bitten und dann eine Datei erstellen, die dann ausführbar sein wird.
7. Eine Datei schreiben und sie ausführen: Okay, willkommen zurück. Lassen Sie uns über das Ausführen von Dateien sprechen, oder ich denke, Dateien aus UserInput zu erstellen. Und so ist die Idee hier, dass Sie den Benutzer nach einer Art von Eingabe fragen können. Und dann können Sie eine Datei daraus erstellen. Und mit dieser Datei können Sie auch einige Inhalte hinzufügen. Lassen Sie uns also alle Erfahrungen, die wir mit dem Lesen und Schreiben und Anhängen von
Dateien in ein Programm zusammenführen , in dem Sie im Grunde Ihre eigene Form des Katalogs oder,
oder Kontaktbuch oder Adressbuch erstellen können. Lasst uns zuerst nach Dateinamen fragen. Dateiname wird eingegeben werden. Wie lautet der Dateiname? Und lasst uns auch nach Inhalten fragen. Eingabe ist gleich dem Eingeben des Inhalts, was auch immer dieser Inhalt sein wird. Dann können wir so etwas wie Breite sagen. Wir öffnen hier einen Kontext-Manager, öffnen Sie diesen Dateinamen. Wir werden es jedes Mal als Datei schreiben oder überschreiben, dann können wir sagen Datei Punkt rechts, der Inhalt. Nun, wenn wir dies ausprobieren, Python-ausführbare Benutzerdateien, wird
es mich nach einem Dateinamen fragen. Also lassen Sie uns Zed, Zed,
Zed 2.txt setzen , nur so dass es ganz unten hier auftaucht, es ist leicht, unter einigen Inhalten zu finden. Hallo, mein Name ist Bob und ich kode gerne. Okay, sieht so aus, als hätte es nichts getan, aber, hey, sieh dir das an. Zed, Zed Dot TXT ist aufgetaucht. Und boom, myText ist jetzt da drin. Jetzt bekommen Sie dies, wir können tatsächlich beginnen, dies viel angenehmer für den Benutzer zu machen. Wir könnten sagen, offene Datei ist gleich der Eingabe. Möchten Sie diese Datei lesen? Und das sollte ein Ja oder ein Nein dauern. Also könnten wir sagen, wenn die geöffnete Datei in Y oder N ist, dann können wir etwas tun. Wir sagen, wenn geöffnete Datei gleich N ist, tun Sie nichts. Oder wir können sagen, wenn die geöffnete Datei gleich y ist, gehen
wir weiter und öffnen Sie diese Datei jetzt. So können wir sagen, mit öffnen den gleichen Dateinamen von oben mit Leseeigenschaften wie Datei, Druck, Datei Punkt lesen. Und so sieht das ganze Skript so aus. Wir fragen nach einem Dateinamen. Wir bitten um etwas Inhalt. Wir werden dann diesen Dateinamen mit Inhalt darin schreiben,
und es ist völlig dynamisch, es liegt an dem Benutzer. Dann werden wir sagen, Möchten Sie diese Datei öffnen ja oder nein? Open file befindet sich in einer Liste von Y oder N. Führen
Sie dann diesen Code aus. Wenn geöffnete Datei gleich y ist, dann möchten wir diese Datei öffnen und diese Datei ausdrucken. Gehen wir weiter und geben dem eine Chance. Lassen Sie uns tun YOy Punkt TXT ist der Dateiname, geben Sie einige Inhalte. Der Inhalt ist König. Erinnern Sie sich, als die Leute zu sagen pflegten, dass auf Social Media Inhalte König ist? Und möchten Sie diese Datei lesen? Geben wir y ein und es druckt es für uns aus. Es hat diese Datei für uns gelesen, und das ist genau das, was NY YY 2.txt ist. Jetzt werde ich diese Datei löschen. Ich werde diese Datei auch löschen. Und ich werde diesen Quellcode bei Ihnen lassen. Jetzt. Ich möchte, dass du das ausprobierst, nur Zeilen eins bis fünf ausprobierst. Sie müssen sich keine Sorgen um die Linien sieben bis 11 machen. Drew wird nur schick da. Wir sind nur, dass wir im Grunde ihre Fähigkeiten zeigen, nur weil wir können, was eine sehr Programmierersache ist. Das machen wir gerne. Aber probieren Sie das aus und fragen Sie nach einem Dateinamen. Sie einige Benutzereingaben fragen nach einigen Inhalten, um eine mehr Benutzereingabe zu verwenden und einen dynamischen Dateinamen und dynamisch richtig, einige dynamische Inhalte zu verwenden. Und dann stellen Sie sicher, dass diese Datei tatsächlich dort angezeigt wird, wo Sie denken, dass sie auftauchen wird, und öffnen Sie sie Stellen Sie sicher, dass sie das tut, was Sie erwarten. Und wenn alles gut aussieht, richtig aussehend? Lassen Sie uns zu dieser nächsten Lektion übergehen, wo wir über
Funktionen innerhalb von Funktionen sprechen , weil Überraschung, Überraschung. Alles in Python wird als Objekt bezeichnet. Ja, es ist ein überwältigendes Konzept, aber wir können Dinge in Ness Dinge verschachteln, und Sie können es tatsächlich hier sehen. Wir hatten nie eine with Anweisung innerhalb einer if-Anweisung innerhalb einer if-Anweisung, innerhalb einer if-Anweisung. Und das kann für immer weitergehen. Es ist keine Leistung, das für immer zu tun, aber wir können das für immer tun, wenn wir es wollten. Und Funktionen sind nicht anders. Wir können eine Funktion innerhalb einer Funktion innerhalb einer Funktion haben. Also in der nächsten Lektion werden wir einen Blick auf Funktionen und einige
der seltsamen Bereiche, die innerhalb davon passiert.
8. Funktionen in Funktionen: Werfen wir einen Blick auf Funktionen verschachtelte Funktionen, denn in Python können wir das tun. In Python wird alles als Objekt bezeichnet, und das bedeutet, dass Funktionen innerhalb von Funktionen oder Objekten, Dateien oder Objekte Pakete Objekte Objekte sind. Alles ist ein Objekt, man bekommt ein Objekt, Eigen Objekt, wir alle bekommen ein Objekt. Aber in diesem Kurs, nicht in diesem Kurs, sondern in dieser Lektion, wir einen Blick auf den Umfang und wie er sich auf Funktionen innerhalb von Funktionen auswirkt. Also lassen Sie uns eine Funktion erstellen, nennen wir es Ding eins. Und dann können wir eine Funktion darin haben. Und sagen wir einfach „Drucken“. Willkommen in der ersten Sache. Und das ist nur eine kurze Sekunde da festziehen. Und lasst uns hier eine andere Funktion haben. Das Ding auch. Drucken. Willkommen bei der Sache auch. Und dies innerhalb dieser Funktion auszuführen. Oder vielmehr, um das Ding auch auszuführen, wir haben einfach innerhalb der Sache eins ausgeführt, also sagen wir, was es auszuführen. Und wenn wir dann Sache eins nennen, wird
dies ausgeführt, es wird drucken, es wird dann diese Funktion und den Code
innerhalb dieser Funktion registrieren und dann diese Funktion ausführen. Und jetzt haben wir zwei Funktionen und eine hier, und es ist wirklich nur erforderlich, eine von ihnen aufzurufen. Also lasst uns weitermachen und das speichern. Und gehen wir zu Ansicht. Hören Sie mich jetzt. Und lassen Sie uns Python-ausführbare Benutzerdateien eingeben. Das ist nicht richtig. Das ist Doo-Doo-Doo-Doo. Ich muss das rückgängig machen. Okay, also habe ich gerade den Namen der Datei dort geändert, also überschreiben wir die Datei aus der letzten Lektion nicht. Also, was ich hier in meinem Terminaltyp tun möchte, funktioniert Python Funktionen innerhalb von Funktionen. Und wir werden sehen, es heißt Willkommen Sache eins, willkommen bei Ding tun. Und das ist wieder, denn wenn wir das trennen, könnte
es für unsere Augen etwas mehr Sinn machen. Aber Sache eins, nun, wir wissen, dass das auch eine reguläre Funktion
ist, wird sich dann registrieren oder innerhalb der Sache eins registriert werden. Und dann haben wir es hingerichtet. Nun, wenn wir nicht wollten, dass es hingerichtet wird, warum sollten wir es überhaupt lesen? Aber das ist neben dem Punkt, den wir einfach nicht im Inneren ausführen könnten. Und das wird einfach willkommen zu Ding eins sagen. Das ist also eine Funktion innerhalb einer Funktion. Und letztendlich nennt man das Dekorateur, eine Dekorate oder so etwas. Das heißt, die Prämisse eines Dekorateurs wird wahrscheinlich in einem zukünftigen Kurs oder einem zukünftigen Modul über
Dekorateure sprechen . Aber das ist im Grunde, was ein Dekorator in Python ist. Lassen Sie uns nun einen Blick auf den Umfang werfen. Sagen wir mal, was man einen Namen nimmt. Aber auch das Ding wird keinen Namen nehmen. So können wir sagen Willkommen, um einen gemeinsamen Namen zu denken. Und wie wollten wir das Ding an diesen Namen weitergeben? Nun, wir könnten das auch tun und wir könnten Namen sagen. Und dann könnten wir hier Namen sagen. Und dann, wenn ich Jacob sagte, wird
das heißen, willkommen zu denken. Jacob, oh, wir brauchen auch Doo-Doo-Doo-Doo-Namen. Und so gibt es den Namen weiter, aber ehrlich
gesagt, den gleichen Variablennamen immer und immer wieder eingeben zu müssen , ist irritierend. Du siehst, wie oft ich Name hier eingeben muss. Das Schöne an Pythonic Scoping ist wenn es keinen Namen innerhalb dieser Funktion findet, wenn es diesen bestimmten Namen nicht findet und dies buchstäblich alles genannt werden könnte. Aber wenn es diese Variable, diesen Parameter,
dieses Argument innerhalb seiner Funktion nicht findet , wird
dies außerhalb der Funktion schauen. Und es wird in die Dinge schauen, eine für eine Variable namens name. Und so lassen Sie uns voran gehen und das testen. Und lassen Sie uns keinen Namen geben. Und so ist auch die Sache einfach willkommen zu sagen, auch zu denken. Es wird einen Namen haben, aber wir sind nicht wirklich etwas n. und so sehen wir das viel in der Welt von JavaScript, aber wir sehen das nicht viel in der Welt von Python. Gehen wir voran und führen das aus. Und wir werden was sagen? Wir werden sehen, dass hier steht:
Willkommen, um einen Jacob zu denken und willkommen bei Jacob. Und das liegt daran, dass, obwohl wir den Parameter name nicht explizit übergeben haben, was es tat, war, nach einem Namen in dieser speziellen Funktion zu suchen. Es hat es nicht gefunden, also sah es außerhalb dieser Funktion aus. Es fand es in einer Funktion Sache eins. Und das Schöne daran ist, dass es umfaßt ist, so dass, wenn wir versuchen, hier drucken Namen, es wird überhaupt nicht existieren. In der Tat wird dies einen Fehlernamen Fehler auslösen, Name, Name ist nicht definiert. Und das ist das Schöne an Funktionen und das Scoping mit Funktionen ist, dass Sie, wenn Sie eine Funktion haben, wenn Sie eine verschachtelte Funktion haben, alle dieselben Variablen aus dieser ursprünglichen Funktion verwenden können. Und diese ursprüngliche Funktion i in diesem Fall, Sache eins, wird nicht irgendeinen seiner Parameter oder eines seiner Argumente austreten. Und das hält Ihren Namespace und schön und sauber, so dass wir uns keine Sorgen darüber machen müssen, dass Name registriert wird und magisch mythisch etwas tun, wenn es einfach nicht existiert. Alles, was wir gesagt haben, war im Grunde, wenn
Sie das packen , sehen Sie nicht, dass Name gleich irgendwo hier drin ist, existiert nicht hier draußen. Und das ist Pythons Scoping. Nun, das ist nur das reguläre Python-Scoping. So funktioniert Python. Wenn es das Ding nicht findet, sieht es außerhalb des Dings aus. Und als Zusammenfassung, Funktionen innerhalb von Funktionen ist wirklich, dass Sie nur eine Funktion
deklarieren, eine zweite Funktion innerhalb davon oder eine dritte oder vierte oder fünfte Funktion innerhalb davon deklarieren. Du kannst etwas tun, du kannst etwas zurückgeben. Sie können so ziemlich alles tun, was Sie
innerhalb dieser zweiten oder dritten oder vierten oder fünften verschachtelten Funktion mögen . Und Sie können einfach weiter verschachteln, wenn Sie nur möchten, müssen Sie sich daran erinnern, welche Funktion Sie registrieren, die Sie auch ausführen müssen. Und wenn du denkst, warum sollte ich das überhaupt mit einer Druckaussage machen? Ehrlich gesagt, würdest du das nicht. Aber wenn Sie zehn Logikzeilen hier drin hätten und diese Logik zwei- oder dreimal innerhalb der ersten Sache
wiederverwenden wollten , würden
Sie das als Unterfunktion registrieren. Jetzt ist Ihre Aufgabe für diese Lektion, dies zu erschaffen. Creative Funktion, verschachtelte Funktion darin, führen Sie die verschachtelte Funktion
aus, führen Sie die ursprüngliche Funktion aus
und stellen Sie sicher, dass Sie eine Art von Argumenten oder irgendeine Art von Parametern übergeben, die sowohl in der Originalfunktion und die verschachtelte Funktion selbst. Probieren Sie das aus, wenn Sie bereit sind. Lassen Sie uns zur nächsten Lektion gehen, in der wir über einfache API-Anfragen sprechen.
9. So machst du einfache API-Anfragen: Lassen Sie uns voran und stellen Sie eine einfache API-Anfrage. Alles klar, in dieser Lektion müssen wir ein Paket namens Requests verwenden. Also zuerst mal, lasst uns das ausprobieren. Geben wir Python ein, um in unsere Shell zu gelangen. Pyt HON, wenn ich das buchstabieren kann. Und dann können wir einfach Importanfragen eingeben. Und wenn Sie keine Fehler sehen, dann sind Sie gut zu gehen. Wir können fortfahren. Wir können Anfragen verwenden. Wenn Sie einen Fehler sehen, so etwas, Importanfragen, damit Sie ein Modul nicht gefunden Fehler sehen, dann müssen wir fortfahren und Anfragen installieren. Nun, wenn wir Anfragen installieren müssen, ist das in Ordnung, wir können das tun. Lass uns hier einfach unsere Schale verlassen. Und Sie müssen PIP jetzt haben, sollten Sie bereits pip auf Ihrem Computer installiert haben. Wenn Sie Pip dash v eingeben, wird
es Ihnen eine Reihe von Sachen hier sagen. Und mein Pip verwendet Python 3.8. Nun, wenn Sie nicht pip auf Ihrem Computer installiert haben, wenn es Befehl nicht für Sie funktioniert,
gehen Sie zu der Lektion, wo wir
PIP installieren , und wir reden über Pakete und Dinge wie diese und dann kommen Sie zurück zu diesem. Also, das sind ein paar Lektionen vor uns und dann komm einfach wieder zurück. Aber moderne Versionen von Python, wenn ich mich richtig erinnere, kommt standardmäßig mit pip. Also, was wir hier tun können, vorausgesetzt, Sie haben die Anfragen, Paket oder Modul, können
Sie Anfragen importieren und dann können Sie einfach sagen REQ für Anfrage ist gleich Anfragen dot get, und dann eine URL. Also lassen Sie uns HTTPS, Caleb dot IO tun. Und wir können den Status hier drucken, X Punkt Statuscode und nicht x. Ich bin es gewohnt, x zu tippen, es sollte Wrack sein. Ich habe gerade den Variablennamen,
ihren Print-Req-Dot-Statuscode geändert . Und lasst uns voran gehen und versuchen. Python einfache API fordert Punkt py an. Und er gibt mir 200, jetzt 200 Status und HTTP-Codes bedeutet, dass die Seite läuft. Jetzt können Sie an dieser Stelle ein Website-Monitoring-Programm ganz einfach erstellen. Wir könnten so etwas tun. Gehen wir weiter und kommentieren das aus. Und wir können Importanfragen erledigen. Importzeit. Wilde wahr. Req ist gleich Anfragen dot get und dann Ihre Website. So drucken HTTPS-Kurse Dot Codierung für jeden buddy.com Req Dot Statuscode. Und dann können wir sagen, wenn dieser Req Punkt Statuscode nicht gleich 200 ist, wir könnten eine E-Mail senden, wir können alarmieren, wir könnten aus diesem Skript ausbrechen. Wir könnten alles tun, was wir wollen, also gehen wir einfach vorbei. Aber letztendlich würde dies idealerweise eine E-Mail
gesendet, einen Text mit Twilio API oder so etwas senden. Schicken Sie mir eine E-Mail oder schreiben Sie mir, so etwas. Und das wird sehr,
sehr schnell immer und immer wieder laufen . Also wollen wir unseren Server nicht mit Anfragen spammen, sondern stattdessen wollen wir eine Anfrage stellen und vielleicht 60 Sekunden warten. Und so konnten wir Zeitpunktschlaf 60 Sekunden machen. Und so wird das einmal pro Minute eine Anfrage stellen. Aber nur als Beispiel, lassen Sie uns das auf drei Sekunden senken. Und lassen Sie uns das noch einmal laufen und sehen, was mit hundert, zweihundert passiert. Also werden wir sehen, dass dies ständig zieht meine Websites, um sicherzustellen, dass es die ganze Zeit auf. Grundsätzlich haben wir gerade ein Uptime-Programm oder
ein Uptime-Überwachungsprogramm in wie sieben Codezeilen mit Python erstellt . Und um alles abzubrechen, was ich dort getan habe, war Kontrolle C. Also werde ich diesen hier wirklich auskommentieren. Sie können diesen Quellcode auschecken, wenn Sie möchten. Und ich werde das Original auskommentieren, weil das alles ist, was wir wirklich für diese spezielle Lektion tun müssen. Alles, was wir tun müssen, ist das. Und das ist eine einfache API-Anfrage. In der Tat ist dies eigentlich kaum eine API-Anfrage. Dies ist mehr oder weniger nur eine HTTP-Anfrage. Aber in Python ist es so nah an einer API, es ist im Grunde eine API-Anfrage. In der nächsten Lektion werden wir einen Blick darauf werfen, eine API-Anfrage
an einen Endpunkt zu stellen, der tatsächlich akzeptiert und JSON oder nicht akzeptiert, aber JSON zurückgibt und wie wir das in ein Python Wörterbuch
verwandeln und mit diesen Daten arbeiten können . Aber jetzt gehen wir voran und geben Zeilen eins bis vier einen Versuch, probieren Sie es
einfach aus und haben etwas Spaß damit. Sehen Sie, ob Sie einen anderen Statuscode von einer anderen Website erhalten können. Und wenn Sie einen anderen Statuscodes bekommen,
etwas, das nicht ein 200 ist, fühlen Sie sich frei zu gehen und zu erforschen, was dieser Statuscode bedeutet. Wenn Sie mit HTTP-Statuscodes nicht vertraut sind.
10. So machst du JSON API-Anfragen: Okay, lassen Sie uns eine JSON-API-Anforderungen machen, nur eine einfache. Also holen wir uns nur ein paar Informationen. Wir werden keine Informationen veröffentlichen, setzen oder löschen oder andere API-Begriffe. Wir werden uns nur ein paar Informationen besorgen. Und das wird die häufigste Sache sein, die Sie tun, wenn es um Python APIs
geht oder API wirklich im Allgemeinen ist. Also aus der letzten Lektion haben wir Importanfragen gemacht. Und dann sagten wir, REQ ist gleich Anfrage dot get, und dann einige URL hier. Und wir wissen nicht, ob sich das als HTML oder JSON oder so etwas herausstellte. Also müssen wir einen Endpunkt finden. Also, wenn wir auf den Kopf über zu tauschen Punkt Punkt Punkt, ist
dies eine meiner Lieblings-API-Sites, weil es für Star Wars-Namen Thema ist. Nun, ich mag Star Wars, aber wir können auch gehen, um e dot dev slash api Schrägstrich zu tauschen, sagen
wir, die Leute schrägen eins. Und das wird uns Informationen über Luke Skywalker oder Leute geben. Und sag sechs, wer auch immer das ist. O wenn Lügner. Und wir können all diese JSON-Informationen bekommen. Nun, was daran schön ist, ist, dass es nicht viele Informationen sind, aber es ist genug, um eine großartige Demonstration zu sein. Also lasst uns voran gehen und tauschen Dot Dev Slash API Schrägstrich Leute, und dann nur eine Zahl. Das wird also unsere URL,
HTTPS, Tauschpunkt Dev-Schrägstrich, API Schrägstrich Leute sein . Lasst uns jemanden tun, der auch immer das ist. Und dann sagen wir, dass die Person sein wird
, was auch immer diese Anfrage geschrieben wird, um mit db.json und Druckperson zu antworten. Probieren wir das aus. Python macht JSON-API-Anforderungen. Und es dauert eine Sekunde und wir können sehen, dass wir C3PO. Und wenn Sie mit Python und Datentypen vertraut sind, sieht
das wie ein Wörterbuch aus, nicht wahr? Also, jetzt können wir den Namen herausziehen und wir können sagen drucken. Registerkarte Name IS, Registerkarte. Und lasst uns hier eine F-String-Variable machen. Sagen wir, Person, Name. Und machen wir dies zu einer F-Saite. Was können wir hier noch hinzufügen? Wir haben einen Namen. Wir können auch hinzufügen, sein Geburtsjahr ist Person, Geburt Unterstrich Jahr. Und das bekomme ich nur von hier und hier. Also lasst uns weitermachen und das noch einmal ausführen. Name ist C3PO, Geburtsjahr ist 112 von lassen Sie uns eine weitere Registerkarte in hier hinzufügen. Nur um das schön anzuordnen. Der Name ist C3PO, Geburtsjahr ist 1 12., b, b, y und jetzt haben wir Zugang zu all diesen Informationen hier. Nun, was cool daran ist, dass wir auch Filme haben, die weder Filme genannt werden. Und Filme sind einfach eine Liste von Filmen, die sagen wir drei. C3po ist es nicht. Schauen wir uns also an, wo 3P o n ist, und lassen Sie uns ausdrucken, welcher Film dieser Titel genannt wird. Also brauchen wir zwei. Was bedeutet diese URL? Api Filme fünf, Filme Schrägstrich fünf. Das ist die Bitte. Und es heißt „Angriff der Klone“. Und es ist auch eine Episode. Sagen wir mal, wir wollen nur herausfinden, in welchen Filmen er ist. Wir könnten dann persönlich für Film sagen. Filme, weil dies tatsächlich eine Liste REQ für Anfrage ist. Anfragen, Dot get Film, URL, Druck, Film ist. Und dann können wir filmen. Eigentlich müssen wir diese zuerst JSON FI. Nehmen wir also an, Film ist gleich der Anfrage Punkt JSON. Und dann können wir Filmtitel machen. Und das wird alle Filme für uns ausdrucken. Lassen Sie uns auch eine gedruckte Aussage über Filme in beteiligt. Und lassen Sie uns das noch einmal ausführen. Und es geht los und bekommt jeden einzelnen Film. Dies macht also eine andere,
eine andere API-Anfragen für jeden Film, in dem er sich befindet, und erhält diesen Titel. Und jetzt bekommen wir dynamisch viele Informationen. Wir bekommen einen Charakter C3b. Wir überprüfen, welche Videos sind, welchen Filmen er involviert ist. Und für jeden bekommen wir diese Daten, der ganze Film in Daten
, einschließlich des Titels und alles, was wir tun, ist, den Titel zu drucken. Und das ist der Grund, warum wir das tun, können
Sie sehen, dass es nacheinander zurückkommt. Film ist Neue Hoffnung, Empire schlägt zurück, Rückkehr der Jedi, Phantombedrohung, Angriff der Klone und Rache, oder die CIF. Jetzt glaube ich eigentlich, ob einige Daten in dieser API fehlen,
aber egal, es ist immer noch eine lustige API zu verwenden. Wie stellen wir als Zusammenfassung JSON-API-Anforderungen? Es ist das gleiche wie eine regelmäßige Anfrage. Aber wenn sich diese Daten als JSON
herausstellen, können wir einfach Punkt JSON auf diesem Anforderungsobjekt machen. Und das wird es in eine Variable werfen. Wir nennen es „Person“. Und dann haben wir Zugriff auf all diese Daten. All diese Daten in einem Python Wörterbuch. Also, was ich möchte, dass Sie das tun, ist eine einfache Chance zu geben. Sie müssen hier keine for-Schleife machen. Aber was Sie tun können, ist eine einfache Anfrage oder eine GET-Anfrage, und dann JSON-Datei und dann auszudrucken, was diese Daten sind. Es wird als Wörterbuch zurückkommen, sobald es JSON trotzt oder von JSON gelesen wurde, sondern es wird als Wörterbuch zurückkommen, so dass Sie Zugriff auf den Namen oder das
Geburtsjahr oder irgendetwas anderes haben können , das Ihnen die API gibt. Gehen Sie weiter und versuchen Sie es, und wenn Sie bereit sind, lassen Sie uns darüber sprechen, wie wir eine Zeichenfolge, die wie JSON aussieht, in
ein tatsächliches Stück JSON und ein Pythonisches Wörterbuch konvertieren können .
11. Wie du JSON in Python liest: Okay, werfen wir einen Blick auf das Lesen von JSON. In der letzten Lektion haben
wir also etwas JSON von einer API genommen und wir haben einfach damit gearbeitet. Und das war in Ordnung, weil die Daten tatsächlich im JSON-Format vorlagen. Es war keine Zeichenfolge, es war im JSON-Format. Und so war es für uns gewaltig und wir können das leicht in ein Wörterbuch mit Python verwandeln. Aber was passiert, wenn das als String zurückkommt? Nun, was ich damit meine, ist nur, dass Daten von C3PO in der letzten Lektion so aussehen. Also C3PO ist gleich, wir werden dies hier ein bisschen kleiner machen. Und es hat all diese Informationen hier drin. Nun können wir nicht einfach
C3PO-Klammernamen sagen , wie wir es in der letzten Lektion getan haben, weil dies eine Zeichenfolge ist, dies ist kein Wörterbuch. Also, wenn wir sagen C3PO Namen und wir versuchen, dies auszudrucken. Python liest JSON dot pi, wir werden sehen, dass String-Indizes ganze Zahlen sein müssen. Und das ist einfach, weil es versucht, das zu schneiden. Es weiß, dass es eine Zeichenfolge ist, und daher ist es kein Wörterbuch hat keinen Schlüssel oder eine Eigenschaft namens name. Also müssen wir das umwandeln. Jetzt können wir das mit der JSON-Bibliothek tun. Alles, was wir tun müssen, ist zu tippen. Ich werde das nur einen Hauch größer machen, ihren Import JSON. Und wir haben C3PO hier oben. Was wir jetzt tun können, ist ein C3PO gleich C3PO. Aber wir setzen einfach JSON dot load, load s. Es sieht aus wie das Wort geladen, aber was es tatsächlich bedeutet, ist geladene Zeichenfolge. Also nehmen wir diese Zeichenfolge und wir werfen sie
im Grunde in ein Konvertierungswerkzeug, das dies in ein Wörterbuch für uns verwandeln wird. Und wenn dies richtig formatiert ist, werden
wir keine Fehler sehen. Und jetzt werden Sie sowieso so etwas mit diesem speziellen Beispiel sehen, es wird etwas in der Richtung der
Erwartung des Eigenschaftsnamens in doppelte Anführungszeichen eingeschlossen sagen . Und das ist, weil, raten Sie was? Dies ist nicht richtig formatiert JSON und dies ist ein Wörterbuch von Python. Nun, wenn wir hier zurück gehen, Leute wie T, lasst uns C3PO holen. Sie können sehen, dass alle diese Daten doppelte Anführungszeichen
haben, keine doppelten Anführungszeichen sind, aber keine Apostrophe verwenden. Also lasst uns weitermachen und das kopieren. Und lassen Sie uns es richtig formatierte JSON geben, was bedeutet, dass wir die Apostrophe austauschen müssen, die wir verwendet haben. Und lasst uns weitermachen und drei wie eine Doc-Zeichenfolge verwenden. So können wir mehrere Zeilen drin haben. Probieren wir das aus. Coole Kakao, Kakao, Kakao, das funktioniert. Also, obwohl es auf mehreren Zeilen ist, war
es völlig in Ordnung. Wir haben C3PO ist gleich dieser riesigen JSON-Zeichenfolge. Es ist kein JSON-Objekt, es ist kein Wörterbuch, es ist gerade eine Zeichenfolge. Und dann sagten wir, C3PO ist gleich JSON dot load s. Und dann diese Zeichenfolge, diese Zeichenfolge hier oben, und es hat sie einfach in ein Wörterbuch für uns umgewandelt. Also lassen Sie uns voran gehen und tippen, drucken Typ C3PO. Und wir werden sehen, dass dies ein Wörterbuch sein wird, es wird ein DIC T sein. Da ist es, Klassendikt. Nun, was cool daran ist, dass wir das dann in eine andere Datei schreiben können, nachdem wir es hinzugefügt haben. Also lasst uns weitermachen und das entfernen. Und lassen Sie uns etwas ändern in Ihrem lassen Sie uns ändern C3PO ist Name zu etwas anderem. So können wir sagen, C3PO Name ist gleich meinem Freund Caine als Schlüssel. Und jetzt wird sich das nur im Wörterbuch ändern. Das wird es nicht im eigentlichen Text hier ändern, wir müssen das wieder umwandeln. Und so, um es zurück zu konvertieren, machen
wir einfach JSON Dot Dump, S, Dump String, C3PO. Und lasst uns C3PO machen. Unterstrichenzeichenfolge ist gleich, und lassen Sie uns das drucken. Drucken Sie C3 POSTAR. Und weil dies zu tun hat alle seine Daten. Dies kommt als String zurück und der Name ist Ksp. Wir haben jetzt JSON-Daten als String genommen und
Sie werden, Sie werden viel damit arbeiten. Es ist also wichtig zu wissen, wie JSON funktioniert. Nicht alles ist in
der Entwicklerwelt oder in der menschlichen Welt perfekt formatiert . Und so nahmen wir eine Zeichenfolge, sagten
wir, in das richtige Wörterbuch mit JSON load s konvertiert. Dann ändern wir den Namen. Dann sagten wir, oh, was wir eigentlich tun wollen, ist, dass wir diese Daten ablegen wollen. Also ändern wir diesen Namen
im Grunde, haben ihn hier oben geändert. Und dann werfen wir diese Daten zurück in eine Zeichenfolge mit Dump S. Dump String, gaben ihm eine Zeichenfolge und drucken sie dann. Und das war wirklich alles, was wir tun mussten. Nun möchte ich, dass du das tust, ist, das zu machen. Ich möchte, dass du es ausprobierst. Dies ist wirklich wichtig, wenn Sie JSON viel verwenden, vielleicht nicht jeden Tag als Python Entwickler, aber sicherlich jede Woche oder alle zwei Wochen. Es ist also sehr, sehr häufig. Fühlen Sie sich frei, diesen Code sogar zu stehlen, nur weil er das Wörterbuch hat oder nicht das Wörterbuch, sondern die Zeichenfolgen-JSON-Daten hier drin. Vergessen Sie nicht, JSON, JSON dot load s zu importieren. Und dann wieder, wenn JSON importiert wird, json.dumps S, und das steht für load string, dump, string.
12. Was sind Funktion *Args?: Werfen wir einen Blick auf Funktionsargumente. Also in der Wildnis, in vielen, viel Python, vor allem in Lake die Welt von Django. Du wirst so etwas wie taubes Ding sehen, Selbst, Bitte, Argumente, Sterne, Sterne, Quarks. Und so werfen wir in dieser Lektion einen Blick darauf, was Argumente ist. Weil, nun, das wird mit dem Unterricht kommen. Wir brauchen keine Selbstanfrage ist eine Django-Sache, aber das könnte wirklich alles sein, sagen wir Name. Und dann braucht es eine Art von Argumenten und dann eine Art Schlüsselwortargumente. Also lassen Sie uns die Schlüsselwortargumente für jetzt ignorieren, und lassen Sie uns einfach mit args arbeiten. Also zuerst, wenn wir mit unseren Eiern arbeiten, lasst uns das loswerden, weil wir es nicht benutzen. Wenn wir diese Funktion hier nur sezieren. Welcher Datentyp sieht das für Sie aus? Sie sollten sagen, dass das wie ein Tupel aussieht. Und das ist, was arggs kommt zurück als. Args kommt immer als Tupel zurück. Also lassen Sie uns hier eine Funktion erstellen, wo anstelle von Taub Sache, werden
wir sagen, Zahlen hinzufügen. Und wir werden einfach die Argumente drucken und den
Namen loswerden , weil das ein positionsgefordertes Argument sein wird. Wir wollen das nicht und wir wollen nur eine beliebige Anzahl von Argumenten einwerfen. Und das Schöne an Argumenten hier ist, dass Sie
eine unbegrenzte Anzahl von Argumenten übergeben können und es wird einfach funktionieren. Also, jetzt sagen wir, fügen Sie Zahlen 13579. Und lasst uns, ja, da gehen wir. Jetzt wird dies nicht wirklich die Zahlen hinzufügen, aber das wird 13713579 drucken. Also Funktion args dot py, und es kommt als 13579 zurück. Werfen wir einen Blick auf das. Lassen Sie uns das ein wenig sezieren. Mal sehen, was das eigentlich ist. Ist das eigentlich ein Tupel oder habe ich nur dein Bein gezogen? Sieh dir das an. Ich würde dich nicht anlügen. Das würde ich dir nicht antun. Es ist ein Tupel. Und so irgendwelche Argumente, nicht Positionsargumente. Wenn wir beispielsweise ein positionales Argument namens name haben, werde
ich ein Caleb als Beispiel verwenden. Dieser Name hier Caleb wird den ersten Positionsargumenten zugewiesen. Alles nach diesem Positionsargument ist ein, ist ein Stern arg, oder einfach nur ein regelmäßiges Argument. Und das, was das tut, ist zu sagen, oh, lass uns das erste zusammenpassen. Und dann, wenn wir nicht so tun würden, wo, wenn wir so tun, als gäbe es es nicht, der Rest von ihnen wäre Argumente. Und so können wir jetzt mit all diesen arbeiten. Was ist cool daran ist, dass wir sagen können, total gleich 0 ist. Und wenn wir all diese Zahlen hinzufügen wollten, können
wir für num in args sagen, total ist gleich total plus was auch immer diese Zahl sein wird. Also wird es 13579 zusammen hinzufügen. Rendite gesamt. Und dann hier draußen können wir sagen, die Summe ist, ist Zahlen hinzufügen. Caleb, 13579. Drucken Sie die Gesamtsumme. Und lassen Sie uns tatsächlich
diese positionellen erforderlichen Argumente loswerden , weil wir sie nicht verwenden. Also, warum ist es da? Und lasst uns das laufen und wir bekommen 25. Lassen Sie uns das zusammen in unseren Köpfen hinzufügen, um sicherzustellen, dass dies funktioniert. Eins plus drei ist vier plus fünf ist neun, plus 716 plus neun ist 25. Und so können wir jetzt unbegrenzte Argumente mit dem Schlüsselwort args nehmen. Jetzt muss es kein RGS sein. Es muss nur von diesem Stern abgegrenzt werden. Und so weiß Python, dass dies der Rest der Argumente sein wird. In JavaScript. Ich glaube, wir verwenden eine Sache, die einen Ruheoperator genannt wird. Also ein Punkt-Punkt-Punkt. In Python verwenden wir einen Stern oder ein Sternchen. Und das sagt Python einfach, dass der Rest dieser Funktionen oder der Rest dieser Argumente in dieser Funktion eine Reihe von Argumenten sein wird. Und so weiß es, sie zu verpacken, sie in ein Tupel namens args zu
werfen, und dann können wir mit all diesen Argumenten arbeiten. Nun möchte ich, dass du das tust, ist es mal zu versuchen. Ich möchte, dass Sie eine Funktion erstellen, in der Sie vielleicht alle Zahlen zusammen addieren oder alle Zahlen miteinander multiplizieren, eine Art grundlegende Addition oder Multiplikation
machen oder so etwas. Und Sie können sogar Namen nehmen. Wenn Sie eine Reihe von Namen nehmen wollten, sie nicht, es muss keine Zahlen sein. Wir verwenden nur Zahlen, weil es einfach war. Aber Sie könnten eine Reihe von Namen verwenden und
alle Namen ausdrucken , unabhängig davon, was Sie am Ende versuchen. Ich möchte, dass du das ausprobierst, weil du überall Star Args sehen wirst. In der professionellen Ebene, Python, ist
es sehr, sehr wichtig, dass Sie verstehen, wie das funktioniert. Wenn du das fertig bist. Lassen Sie uns in der nächsten Lektion über diese Sache sprechen, die Quarks,
Keyword-Argumente genannt wird , und das ist mit zwei Sternen begrenzt. Es ist ein bisschen anders, irgendwie dasselbe.
13. Was sind Funktion **kwargs?: Okay, lassen Sie uns einen Blick auf Schlüsselwortargumente in einer Funktion werfen. So oft sehen Sie def thing, ein positionales Argument, positionelles erforderliches Argument. Wie könnte man so etwas wie eine positionelle optionale Argumente haben. Also Name aij ist standardmäßig gleich 31, dann können Sie eine Form von Argumenten haben, jede Art von Argumenten. Die haben keinen Namen. Diese sind einfach wie 1357 oder neun, wie wir es in der letzten Lektion getan haben. Und dann haben wir Schlüsselwort-Argumente. Und das ist, wenn volle Funktion, das ist so ziemlich alles, was wir innerhalb einer Funktion tun können. In Bezug auf Parameter. Wir wissen also, dass Name erforderlich sein wird, absolut erforderlich. Alter, fakultativ, ob es da drin ist oder nicht, spielt keine Rolle. Das Alter wird immer 31 Jahre alt sein. Dann haben wir Argumente. Und das könnte eine beliebige Anzahl von Argumenten sein, kann buchstäblich eine unbegrenzte Anzahl von Argumenten sein. Es kommt als Tupel zurück und wir können die Daten in diesem Tupel durchlaufen. Schlüsselwort-Argumente, Quarks wird durch zwei Sterne, zwei Sternchen begrenzt. Und was das bedeutet, ist, anstatt als Tupel zurückzukommen, kommt als Wörterbuch zurück, weil Schlüsselwortargs so aussehen. Das Ding ist etwas gleich. Oder wenn wir das in pythonischen Begriffen tun, etwas. Also ist es ein wenig mehr Wörterbuch wie. Lassen Sie uns also voran gehen und löschen Sie dies und lassen Sie uns ein Beispiel erstellen, in dem wir Quarks verwenden. So taub. Nehmen wir an, eine Person hat eine Art von Attributen. Wir wissen noch nicht, was diese Attribute sind, aber wir können sie durchlaufen. Lassen Sie uns zunächst Quarks drucken und Art von Quarks drucken. Und lasst uns Person hinrichten und sagen wir, Name ist gleich Jakob. Aij ist gleich 27. Gehirn ist gleich riesig. Und was großartig daran ist, dass ich eigentlich eine Person namens Jacob kenne. Ich glaube, er ist ungefähr 27. Und er ist wahrscheinlich der klügste Mensch, den ich je getroffen habe. Python Funktion Quarks dot py. Und wir werden sehen, dass wir ein Wörterbuch mit dem Namen Jacob bekommen, 27
Jahre, Gehirn riesig. Und all dies tat, war buchstäblich das Paket zu packen und
diese Schlüsselwortargumente in ein Wörterbuch für uns zu werfen . Jetzt können wir damit arbeiten. Wir haben etwas, mit dem wir arbeiten können. So können wir jetzt in unserer Funktion sagen, wenn, lassen Sie uns überprüfen, ob das Alter in Quarks ist. Drucken Sie Ihr Alter ist. Und dann können wir Quarks dot-dot-dot machen, weil es nur ein Wörterbuch ist. Und wir wissen bereits, wie man die dot getMethod benutzt. Quarks Punkt bekommen Namen. Und es ist jetzt verwenden wir den in-Operator, wir verwenden Get, wir verwenden Wörterbücher wurden eine Bedingung verwendet, wir verwenden Schlüsselwortargumente, wir verwenden eine Funktion und wir verwenden Druckanweisungen und Namen. Warum habe ich einen Namen gegeben? Ich hätte Alter setzen sollen. Wenn Sie auf Ihrem Bildschirm schreien, gehen App. Nun, du könntest fangen. Es steht, dass du es bist. Nur einer nach dem anderen hier, um es heute zu töten. Du bist 27. Kuckuck, Kuckuck, Kuckuck. wir einfach so, als hätte ich das beim ersten Versuch bekommen. Also, jetzt denken Sie vielleicht, wo ist es tatsächlich verwendet Lake. Und das scheint irgendwie weit hergeholt zu sein. Und wenn du denkst, dass du dich nicht irrst, aber du hast wahrscheinlich auch nicht ganz recht. Ein gutes Beispiel dafür wäre, sagen
wir, Sie möchten Pizza von einer Website bestellen. Gehörlose Bestellung Pizza. Wir brauchen einen Positionsargumentnamen. Wir brauchen eine Adresse, um sie zu liefern. Und sagen wir Toppings. Jetzt wird Toppings ein Schlüsselwortargument sein. Und so können wir sagen, Druckreihenfolge ist für Namen. Ich werde hier eine F-Zeichenfolge verwenden. Und die Adresse ist es an die Adresse zu schicken. Jetzt müssen wir uns eine Art Preisgestaltung einfallen lassen. Also wird der Preis jetzt, sagen
wir, ein Standardwert von $18 sein . Und für jedes Thema, das
wir haben, möchten wir weitere $2 hinzufügen. So können wir jetzt Toppings durchlaufen. Wir können für Schlüsselwert in Toppings Artikel sagen. Weil wir wissen, dass dies ein Wörterbuch ist und wir einfach alle Toppings
durchlaufen können , damit es uns egal ist, was die Themen sind. Könnte sein, Pepperoni, könnte Schinken sein , Ananas sein, könnte extra Käse sein, könnte dir helfen, wie ich es nicht weiß, es spielt keine Rolle. Wir wollen nur den Preis hier rausfinden. Und so werden wir
alle Wörterbuch-Elemente durchlaufen , die uns ein Schlüssel-Wert-Paar gibt. Und ehrlich gesagt müssen wir nicht einmal den Schlüssel oder Wert verwenden. Die Tatsache, dass wir Punkt-Elemente verwenden, ist also völlig nutzlos. Es ist nur gut, zum Beispiel Code in diesem Video. Also lassen Sie uns voran gehen und sagen für jeden Artikel im Jahr, Preise gleich Preis plus $2. Lassen Sie uns das ausdrucken. Wenn wir fertig sind. Der Gesamtpreis ist Preis, und lassen Sie uns Preis zurückgeben. Also lasst uns voran und bestellt jetzt diese Pizza. Wie instanziieren wir diese spezielle Funktion? Wir bestellen Pizza, weil das der Name ist. Sagen wir, es geht nach Amanda. Sie lebt in Kanada. Und welche Art von Toppings will sie? Und sagen Sie, wie Pena tos gleich dem Schlüsselwort-Argument ist. Extra Käse ist gleich wahr, und Schinken ist gleich wahr. Also haben wir eine Positionsschraube, die hier nur ein bisschen hoch ist. Positional erforderliches Argument namens name und ein anderes als Adresse bezeichnet. Alles andere gilt als Schlüsselwortargument. Also, wenn wir diese Pizza bestellen, das ist, können
wir jetzt sagen, der Gesamtpreis ist gleich diesem. Lassen Sie uns voran gehen und tatsächlich diese Python Funktion, Quarks, ausführen. Und es steht Befehle für Amanda Schiff nach Kanada. Der Gesamtpreis beträgt $24.024. Und das liegt daran, dass wir 246 zusätzliche Dollar haben. Denn jedes Thema ist $2 wert und der Grundpreis ist 18. Und dies ist ein echtes Beispiel dafür, wie Sie es tun könnten, wenn Sie Keyword-Argumente verwenden wollten. Sie können auch überprüfen, ob Adressen in den Schlüsselwortargumenten. Denn wenn die Adresse in den Schlüsselwortargumenten war, können
Sie sie entweder ignorieren oder wenn es sich nicht um ein positionales erforderliches Argument wie dieses handelt. Wenn es da drin war, dann großartig, weißt du, oder um das Essen zu versenden oder das Essen zu liefern, weißt
du, versenden wir Essen? Liefern wir Essen? Um das Essen zu liefern? Andernfalls, wenn Adressen nicht in Toppings. Und wir überprüfen einfach, ob es einen Schlüssel innerhalb eines Wörterbuchs gibt. Wenn Adressen nicht in Toppings
enthalten sind, müssen Sie den Benutzer nach einer Adresse fragen. Und das ist eine reale Situation. So würden Sie Pizza mit Python bestellen. Jetzt möchte ich, dass Sie das hier eine Chance geben. Ich werde rückgängig machen, dass dieser Code tatsächlich funktioniert. Gehen Sie vor und erstellen Sie eine Funktion, die ein paar positionelle erforderliche Argumente benötigt und dann lassen Sie es außer Schlüsselwortargumente mit Stern, Stern. Und wieder muss es nicht kw-args und Keyword-args genannt werden. Sie werden es höchstwahrscheinlich so sehen. Es kann alles genannt werden. Aber öfter als nicht, werden Sie es als Quarks sehen. Probieren Sie es aus. Sie müssen wissen, wie das funktioniert, wenn wir in Dinge
wie Django gehen , weil wir Schlüsselwortargumente überall in Django verwenden. Lassen Sie uns in der nächsten Lektion darüber sprechen, wie wir PIP installieren können.
14. So installierst Pip: Werfen wir einen Blick darauf, wie Sie pip installieren können. Also vor allem, was ist Pip? Pip ist ein Paket. Ich denke, es wird als Paket betrachtet, aber Leute können Sie im Grunde Pakete von Drittanbietern mit Python installieren. Wenn Sie also jemals JavaScript verwendet haben, haben
Sie möglicherweise NPM verwendet. In PHP heißt es Posner, ich glaube, komponieren Komponist. Ich glaube, es ist Komponist und es ist eine Weile her. Und in Python nennen wir es PIP. Und so, wie es funktioniert, können wir sagen pip install package name, und dies macht es auf unserem Computer für
uns verfügbar , so dass wir jetzt den Code anderer Leute auf unserem Computer verwenden können. Wenn Sie zum Beispiel keine
Anfragen installiert haben, können Sie einfach pip-Installationsanfragen ausführen. Lassen Sie uns nun überprüfen, ob Sie tatsächlich pip installiert haben zuerst, lassen Sie uns Pip dash v inneres Terminal tun. Und ich habe Pip installiert. Wenn Sie dies nicht haben, wenn dies Ihnen eine Art Fehler gibt, wie Befehl nicht gefunden Art von Fehler, müssen
wir PIP installieren. Nun, wenn Sie bereits pip installiert haben und Sie möglicherweise bereits pip installiert haben, nur weil Python damit kommen könnte. Wenn Python mit Ihrer Version von Python mit Pip geliefert wird, können
Sie den Rest dieses Videos ignorieren. Wenn Sie keinen PIP haben, lassen Sie uns jetzt PIP installieren. Also, um pip zu installieren, was wir tun wollen, ist, dass wir
zuerst, gekräuselt ist auf unseren Computer. Also möchten wir diese Datei auf unseren Computer herunterladen. Und so können wir das mit curl auf unserem Terminal tun, HTTPS Doppelpunkt Schrägstrich, Bootstrap dot p, y p. Python Pakete dot io slash bekommen dash, Pip dot py als wir dash o
tun und wir werden es nennen pip dot py. Jetzt und sehen, ob ich irgendwelche Tippfehler im Jahr aufgrund, aufgrund des Herunterladens der Datei. Und wenn ich ls dash LA oder wenn Sie unter Windows sind, können Sie DIR schreiben. Und haben wir Pip bekommen? Wir haben hier eine Funktion namens get pip. Toll, das wollen wir. Also, sobald Sie diese Datei haben, müssen Sie nur Python eingeben, pip dot py
erhalten. Und das wird weitergehen und eine Installation PIP auf Ihrem Computer für Sie erhalten. Nun, dieser Befehl ist wieder genau das. Curl HTTPS Doppelpunkt Schrägstrich Bootstrapped Punkt Pi,
Pi a PIPA Punkt io Schrägstrich GetDish, Pip, Punkt PY, bekommen Bindestrich, Pip dot pi. Also zögern Sie nicht, das Video hier zu pausieren, wenn Sie müssen. Wenn dies für Sie auf dieser Plattform nicht verfügbar ist, zum Kopieren und Einfügen können
Sie
zum Kopieren und Einfügendas Video einfach pausieren und ausschreiben. Und dann müssen Sie Python ausführen, pip dot pi erhalten. Und sobald das läuft, sollten Sie in der Lage sein, Pip dot dash v. Und Pip dash v wird Ihnen Ihre Pip-Version zeigen, wo es verwendet wird. Aus welchem Grund auch immer, meine Pip-Version verwendet 3.8, Python 3.8. Und es sagt mir Python 3.8 hier drin. Jetzt, um ein Paket zu installieren, ist so einfach wie sagen, etwas wie pip installieren, Farbe Emma. Und das wird losgehen und ein paar Sachen runterladen. Es steht, dass es für mich schon zufrieden ist. Ich schätze, ich habe es schon irgendwie. Und ich kann deinstallieren, indem ich Pip Deinstallation ColorRamp. Ja, lassen Sie uns das loswerden. Muss nicht auf meinem Computer sein, also habe ich es loswerden. Ein anderes, das Sie vielleicht möchten, wenn es nicht mit Ihrer Version von Python kommt, ist
in Ihre Shell zu gehen und einfach Importanforderungen einzugeben. Okay, das hat für mich geklappt. Aber wenn Sie einen Fehler sehen, der ähnlich wie dieses Modul aussieht, nicht gefunden Fehler, müssen Sie Anforderungen installieren. Also lasst uns weitermachen und aufhören. Und Sie können pip-Installationsanfragen ausführen. Und das erlaubt uns dann in unserem Code, was wir vorher sahen, war wie Importanfragen oder JSON importieren. Und das erlaubt uns nur, den Code anderer Leute zu importieren. Jetzt kommt Python mit einem eigenen Code, als ob Sie die JSON-Bibliothek nicht benötigen. Es kommt nur mit Python. Es ist einfach nicht Teil des Kernteils von Python. Sie importieren also JSON, wohingegen Anfragen mit Ihrer Version von Python kommen können oder nicht. Wenn dies nicht der Fall ist, müssen Sie Pip Installationsanfragen tun und dann können wir in unserem Code Anfragen importieren.
15. Mutable Mutable: Alles klar, willkommen zurück. Werfen wir einen Blick auf diese Idee von etwas, das veränderbar gegen unveränderlich sein kann. Und das sind schicke Worte für ist etwas veränderliches gegen ein veränderliches? Das ist alles, was es ist. Entwickler, Programmierer, wir mögen unsere ausgefallenen, schicken Worte wirklich. Also verwenden wir unveränderlich und veränderbar, wirklich bedeutet nur veränderbar und unveränderlich. Das war's. Aber es gibt etwas zu beachten, dass, wenn Sie mit bestimmten Variablen arbeiten, bestimmte Dinge veränderbar oder änderbar sind und einige Dinge unveränderlich, unveränderlich sind. Und so könnten Sie zum Beispiel denken, dass eine Zeichenfolge veränderbar ist, sie ist eigentlich nicht, hat nicht änderbar. Also, wenn wir eine Art Schnur hier drin haben und man sagt, der Fuchs sprang über die Kuh. Und dann haben wir gesagt, String ist gleich etwas anderes. Wir denken vielleicht, dass dies tatsächlich veränderbar ist, aber was hinter den Kulissen hier wirklich passiert, ist etwas
ganz anderes, etwas, das man nicht unbedingt erwarten würde. Also String hier nimmt diese bestimmte Zeichenfolge und klemmt sie in ein kleines Stück Speicher auf Ihrem Computer. Und wir haben ihn String genannt. Das ist der Variablenname. Hinter den Kulissen können wir das nicht ändern. Und wenn wir also String Punkt oben, und lassen Sie uns das drucken, lassen Sie uns String Dot oben drucken, und lassen Sie uns auch nur die reguläre Zeichenfolge drucken. Und lasst uns Python veränderbar vs. unveränderlich machen. Wir werden sehen, dass man Großbuchstaben und eins ist nicht Großbuchstaben. Und was Sie hier tatsächlich sehen, ist, dass String all dies nimmt es in Großbuchstaben
verwandelt, aber es stellt es nicht wieder in diese bestimmte Variable zurück. Was es tatsächlich tut, ist das nur im Speicher zu halten und es dann benutzen zu lassen. Nun, wenn wir wollten, könnten wir versuchen, dies zu überschreiben. Wir können sagen, string ist gleich über geschrieben. Und absolut das wird für uns funktionieren. Aber hinter den Kulissen tut etwas, was man nicht erwartet. Hinter den Kulissen heißt es: Okay, String ist gleich diesem bestimmten Satz hier. Und dann wird diese Zeichenfolge überschrieben. Dies hat ein Stück Speicher. Dies hat ein anderes Stück Speicher. Also setzen wir dieses Stück nicht in diese Saite und setzen dann dieses Stück in dieselbe Saite, wir überschreiben es eigentlich ganz. Also sagen wir, das hat ein Stück Erinnerung. Dies kann nicht geändert werden, wenn es für immer dort und dort ist, oder bis Ihr Skript endet, zumindest. Dann sagen wir, okay, wir wissen, dass es ein Stück Speicher gibt, der als String bezeichnet wird. Wir werden das mit einem neuen Stück Speicher überschreiben und es überschrieben nennen. Hinter den Kulissen kann
man also nicht wirklich eine Zeichenkette ändern. Jetzt über wild, weil man denken würde, dass man in der Lage sein könnte, eine Zeichenfolge zu ändern, aber es funktioniert einfach nicht so in der Informatik. Ein weiteres Beispiel dafür wäre wie eine Liste. So könnten wir Namen haben, ist gleich Caleb,
Jacob, gottesfürchtig, und Amanda. Was daran anders ist, ist, dass wir eine Liste verwenden. Und obwohl diese Strings hier drin sind, sind
diese einzelnen Elemente unveränderlich, die Liste selbst ist veränderbar,
bedeutet, dass
wir sie ändern können, wir können sie hinzufügen, wir können sie anhängen. So können wir Namen Dot anhängen tun. Und lassen Sie uns die Katze namens Rhabarber hinzufügen, Namen drucken. Und Sie bemerken, wie wir nicht tun Namen ist gleich zwei Namen Punkt anhängen. Das haben wir nicht getan. Wir weisen hier einfach der Variablen zu. Und dann sagten wir mit dieser Variablen, fügen Sie etwas hinzu und drucken Sie das dann aus. Lassen Sie uns voran und führen Sie dies aus und wir sehen das überschriebene Beispiel. Die ersten zwei Zeilen. Dann sehen wir Caleb, Jacob, Torwart, Amanda und Rhabarber. Und interessanterweise hat es im Gegensatz zu diesem, wo wir String dot-dot gemacht haben, es nicht als Großbuchstaben gespeichert. können wir hier sehen. Es war einmal Großbuchstaben, aber er hat es nicht wirklich als Großbuchstaben gespeichert. Wohingegen Namen mit einer Liste, tat es. Wir setzen diese Variable, was auch immer diese Variable als Liste sein wird. Dann sagten wir, dass Liste Punkt fügen Sie ein neues Element, Hinzufügen neuer Artikel zu dieser Liste, und es automatisch gespeichert es für uns. Das bedeutet, dass Listen veränderbar sind, aber Strings sind nicht veränderbar. Nun, ist das wichtig in Ihrem täglichen Python-Leben? Nein, nicht, es sei denn, Sie werden wahrscheinlich in Data Science geraten und Sie haben riesige Datenmengen und Sie müssen sehr performant in der Web-Entwicklung sein. Wir müssen das nicht wirklich wissen, aber es ist eine gute Sache, es zu wissen. Nun, als Ihre Hausaufgaben, was ich möchte, dass Sie tun, ist los und Google ist ein Tupel, veränderbar oder unveränderlich. Wir wissen, dass die Liste veränderbar ist. Wir wissen, dass eine Zeichenfolge unveränderlich ist, aber ein Tupel ist wie eine Liste, der Sie nichts hinzufügen können. Wird es als veränderbar oder unveränderlich angesehen? Du wirst ein bisschen Forschung für diesen hier machen müssen. Wenn du fertig bist, lass uns zur nächsten Lektion gehen, wo wir über
dieses ausgefallene Wort namens E-Numeration sprechen .
16. Was ist list: Kelley Dhaka Lee, reden wir über dieses Ding namens E-Numeration. Und das alles wird wirklich tun, ist, dass wir eine
Art Liste durchlaufen und wir werden die Indexnummer daraus bekommen. So könnten wir eine Liste erstellen, sagen
wir, Tiere sind gleich einer Liste von Gulley, Rhabarber, Zafar und Henry. Und dann können wir für Tier sagen, bei Tieren, drucken Sie das Tier, aber woher wissen wir genau, welche Reihenfolge das nicht ist? Woher wissen wir, dass Rhabarber Nummer zwei sein wird? Oder woher wussten wir, dass Henry der Letzte sein wird? Momentan tun wir es nicht. Und wenn wir diesen Code ausführen, werden
wir sehen, dass dies ein Standard für Schleife ist. Wir haben davon in Python eins zu eins gelernt, nichts Phantasie, nichts Neues, nichts Aufregendes. Also, wenn wir die Nummerierung hier bekommen wollten, verwenden
wir diese Funktion namens enumerate und wir wickeln unsere Liste darin ein. Und was das tun wird, ist, wenn wir versuchen, dies zu laufen, überprüfen Sie das. Es gibt uns ein Tupel. Und es ist eigentlich, dass jedes einzelne Element hier ein Tupel ist. Es ist ein Tupel von Tupeln, eher eine Liste von Tupeln. Und so 0 und golly, ein Rhabarber zu HHS Anstrengung drei, Henry. Also jetzt haben wir diese Indexwerte. Und weil zwei von ihnen hier drin sind, können
wir dieses Ding namens Auspacken machen. Also können wir Index und dann Tier tun. Und dann, wenn wir nur das Tier drucken, das wie beim ersten Mal auftauchen wird. Wir könnten Index drucken, dann das Tier. Und wir sehen hier 0 Schlucht, eins, Rhabarber bis Zafar, drei Henry. Also jetzt fangen wir an, diese Indexnummer zu bekommen. Jetzt können wir wirklich etwas damit machen. Wir können sagen, wenn Indexmodul zwei gleich 0 ist, so dass jede Sekunde fortgesetzt wird. Und dann, wenn wir nicht fortfahren, wenn der Index mit einem Modul von zwei
einen Rest von 0 hat oder keinen Rest von 0 hat, drucken Sie dieses Tier aus. Und so wird es nicht nur jede Sekunde zeigen. Das zeigt Rhabarber und Henry. Oder als alternatives Beispiel hier, was wir tun können, ist, dass wir mit
einem F-String-Index plus einer Zahl drucken können . Lassen Sie uns eine Registerkarte tun, die nicht Raum Tabletten tun, tun Sie einfach Tab. Und dann das Tier. Und das wird für uns wie eine richtige nummerierte Liste aussehen. 1234, Kelly Rhabarber ist EFR und Henry. Also, jetzt kommen wir irgendwohin damit. Nun, Enumerate ist ziemlich praktisch. Ich benutze wie wahrscheinlich ein- oder zweimal pro Woche im professionellen Level-Code. Und so müssen Sie wissen, was enumerate tut. Und wirklich alles, was es tut, ist zu sagen, hey, lassen Sie uns hier einige Indexwerte geben. Das wird also 0 sein, das wird eins sein, das wird zwei sein,
und das wird drei einfache Add sein, ist,
dass alles, was es tut, Indexwerte hinzuzufügen, weil manchmal diese Indexwerte benötigt werden . Probieren Sie das aus. In der nächsten Lektion werden wir über Listenverständnisse sprechen.
17. Liste: Okay, schauen wir uns ein Listenverständnis an. Ein Listenverständnis ist also wirklich nur eine Kurzform, um
eine For-Schleife zu schreiben und all diese Daten in eine Liste zu setzen. Jetzt würden wir ein altes Beispiel sehen, wie Elemente gleich so etwas sind. Eigentlich ist es nicht fällige Gegenstände. Lasst uns das tun. Zahlen ist gleich einer Liste von Zahlen. Für die Zahl im Jahre 13579. Zahlen Punkt hängen, was auch immer diese Zahl sein wird, um die Macht von zwei Drucknummern. Und so sehen wir 19, 25-40, 981. Also alles, was wir taten, war, die Zahl gegen die Nummer zwei zu exponieren. Also sagten wir, eins zur Macht von 23, zu der Macht von 25, Macht zwei hat
eine Priorität von neun auf die Macht zwei und Sie bekommen es. Es gibt einen schnelleren Weg, dies in Python zu tun. Dies ist eine sehr pythonische Sache zu tun, und es sieht zunächst sehr bizarr aus. Aber anstatt es den langen Weg zu machen, könnten
wir sagen, Zahlen sind gleich einer
Art Wert für einen Wert in einer Liste irgendeiner Art. Und was wir hier sagen, ist, schauen Sie sich diese for-Schleife an. Und das sieht sehr ähnlich für num in einer Liste von 13579. Und überprüfen Sie dies, selbst wenn ein hervorgehoben, es ist genau das gleiche. Und alles, was wir tun, ist, diesen Wert auf der linken Seite zurückzugeben. Also, jetzt haben wir taub. Wir können taub anstelle von x num zur Macht von zwei verwenden. Und lassen Sie uns noch einmal Zahlen drucken. Und lassen Sie uns das laufen. Wir werden sehen, dass das genau das Gleiche ist. Also, anstatt 123 Zeilen Code zu schreiben, wissen
Sie, zugestellt, es sind nur drei Zeilen Code. Wir haben alles in einer Codezeile geschrieben. Und so wieder, wir haben gerade die Antwort für eine Art von
Iteration oder iterierbar in einer Liste von Dingen oder einer Liste von Iterationen gesagt . Und wir haben Klammern um ihn herum. Und die Klammern um ihn herum bedeutet, dass dies ein Listenverständnis sein wird. Wir können etwas sehr Ähnliches mit Wörterbüchern machen, die als Wörterbuchverständnis bezeichnet werden, über
die wir in der nächsten Lektion erfahren werden. Aber im Moment müssen wir nur wissen, dass wir hier eine harte Klammer haben, wie eine Liste
aussieht und wir haben etwas seltsames Zeug hier drin. Nun, was ich möchte, dass Sie
das ausprobieren, weil Listenkomprehensionen in Python
sehr, sehr beliebt sind . Sie sind deutlich beliebter als ein Wörterbuchverständnis. Und du wirst wissen müssen, wie diese funktionieren. Wenn du es siehst, siehst du es nicht einfach an und du gehst, oh, ich weiß nicht, was das bedeutet. Ich weiß nicht, was das ist. Ich weiß nicht mal, wie das heißt. Sie wissen jetzt, dass diese seltsame Syntax hier Ihre Antwort
für Ihre Iteration in einer iterierbaren in eine Liste eingewickelt ist . Und das ist identisch mit dem, was wir hier geschrieben haben. Es ist nur ein bisschen kürzer. Also gehen Sie weiter, probieren Sie es aus. Viel Spaß damit. Versuchen Sie, es zu brechen, versucht, es zu verstehen. Verbringen Sie wahrscheinlich fünf Minuten auf sie in nur Chaos herum und sehen Sie, was Sie können und nicht tun können. Wenn Sie diesen einen Schritt weiter machen möchten, würde
ich definitiv vorschlagen, loszugehen und erforschen, wie Sie hier eine if-Anweisung hinzufügen können. Weil Sie if- und else-Anweisungen auch innerhalb von Listen-Comprehensions haben können. Sie haben also eine große Zeile mit einer for-Schleife. Und Sie können eine if-Anweisung innerhalb dieser for-Schleife haben und nur etwas ausgeben wenn es eine bestimmte Antwort gibt. Probieren Sie es aus, wenn Sie bereit sind. Gehen wir weiter zur nächsten Lektion, in der wir über Wörterbuch-Comprehensions gelernt haben.
18. Dictionary: Willkommen bei Wörterbuch-Comprehensions. So wie ein Listenverständnis kann auch
ein Wörterbuchverständnis in einer einzigen Zeile geschrieben werden. Lassen Sie uns also voran und erstellen Sie ein langes Beispiel und dann werden wir es mit einem kürzeren Beispiel neu erstellen. Lassen Sie uns also ein Beispiel machen, in dem wir ein Wörterbuch aus einer Liste von Tupeln erstellen möchten. Und so können wir so etwas sagen. Namen sind gleich, wir haben eine Liste und dann ein Tupel hier namens Caleb, Beruf, Coder. Nun, um dies in ein Wörterbuch zu verwandeln, hätten
wir so etwas wie d ist gleich und dann vier. Und weil es sich um ein Tupel mit zwei Elementen handelt, können wir es auspacken. So können wir für Schlüsselwert in Namen sagen, D0, C0 ist gleich dem Wert. Und dann können wir ausdrucken, was auch immer D für Wörterbuch ist. Also Python Wörterbuch. Und Sie können sehen, es gibt ein Wörterbuch jetzt den Namen Caleb Besatzungscoder. Wir könnten sogar überprüfen, ob es tatsächlich ein Wörterbuch ist, obwohl wir es anhand seiner Syntax betrachten können. Aber mal sehen, wie das aussieht. Es ist in der Tat ein Wörterbuch. Und so alles, was wir hier getan haben, war ein Wörterbuch aus einer Liste zu erstellen. dem langen Weg gibt es einen kürzeren Weg, dies zu tun. Also lasst uns das loswerden. Und ich werde das etwas kürzer machen. So können wir den Code sehen. Also, jetzt können wir sagen, D ist gleich einem Wörterbuchverständnis. Also legen wir normalerweise eine Art Schlüssel, eine
Art Wert für den Schlüsselwert in, sagen
wir, Namen, was iterierbar ist. Also lasst uns das wirklich auf dem langen Weg schreiben. Dies ist also ein Schlüsselpunkt für jeden Schlüsselwert in Namen. Lassen Sie uns voran und drucken Sie d wieder, und wir werden sehen, dass es genau das gleiche
ist, wird genau die gleiche oben und unten aussehen, genau so. Und so alles, was wir hier taten, war, dass wir uns geöffnet und mit geschweiften Klammern geschlossen haben. Wir sagten den Schlüsselpunkt, genau wie ein normales Wörterbuch, wenn wir ein Wörterbuch von Grund auf neu erstellen. Es hat dann einen Wert. Und dann sagen wir, dass Schlüssel und Wert von ausgepackten Artikeln kommen. In einem iterierbaren. Qi war der erste unverpackte Artikel, Wert war ein zweites unverpacktes Produkt. Und Namen sind das iterierbare hier oben. Nun, das ist viel einfacher zu schreiben, als diese drei Zeilen schreiben zu müssen. Und Sie können auch if-Anweisungen hier hinzufügen, um sicherzustellen, dass Sie nur bestimmte Informationen hinzufügen, die ich Ihnen selbst recherchieren lassen werde, weil das ein wichtiger Teil des Lernens ist, wie man kodiert. Aber es gibt auch noch einen Weg. Wir könnten auch einfach sagen, D ist gleich DECT-Namen. Sieh dir das an. Einfache Typenfassung von seiner besten Seite. Also werden wir auftauchen, wir drucken D3 mal und schauen uns das an. Wir konnten Namen automatisch mit einer einzigen Codezeile in ein Wörterbuch umwandeln. Und wir haben wie für sechs Zeichen plus einen Variablennamen verwendet. Es gibt also ein paar verschiedene Möglichkeiten, dies zu tun. Nun ist ein Wörterbuchverständnis nicht so üblich wie ein Listenverständnis. Listen-Comprehensions sind sehr beliebt. In Python. Wörterbuch-Comprehensions beliebt, nicht so beliebt, aber Sie werden immer noch diese sehen und Sie werden wissen müssen, wie diese funktionieren. Also geh voran und probiere das mal aus. Fühlen Sie sich frei, dieses Beispiel Zeilen eins bis drei auszuführen. Nur, Sie werden durch eine iterierbare, die als Liste bezeichnet wird, eine Schleife durchlaufen. Und diese Liste heißt Namen. Jedes Element in dieser Liste ist eine Reihe von Tupeln oder ein Tupelsatz, der sich nicht erinnern kann, wie es dort genannt wird, aber es hat einen ersten Wert. Zweiter Wert, Komma, ein weiteres Tupel, erster Wert, zweiter Wert. Und Sie können das mit Schlüsselwert in diesem iterierbaren entpacken. Und dann können Sie ein Wörterbuchverständnis erstellen. Dann drucken Sie das aus, stellen Sie sicher, dass es tatsächlich das ist, was Sie erwarten. Ich werde diesen Code rückgängig machen, damit Sie den langen Weg sehen können. Probieren Sie es aus. Wenn Sie stecken bleiben, auf jeden Fall kommen, schauen Sie sich das Lernen, Facebook-Gruppe zu programmieren. Wir sind hier, um Ihnen dabei zu helfen, Python zu lernen.
19. So bringst du die dictionary: Werfen wir einen Blick darauf, wie wir Wörterbuchwerte erhalten können. Jetzt habe ich das an einem gewissen Punkt, vor
ein paar Lektionen, etwas angefasst . Aber wenn wir ein Wörterbuch haben, können
wir überprüfen, ob ein Wert existiert und diesen Wert durch seinen Eigenschaftsnamen erhalten. Lassen Sie uns also ein Wörterbuch erstellen, das hier Kurse genannt wird. Und sagen wir, wir haben einen JavaScript-Kurs, einen JS-Kurs, und es heißt Java Script 101. Und wir haben einen weiteren Kurs für Python namens Python 101. Wir haben auch einen anderen namens Python 201. Lassen Sie uns das vielleicht zu einer Liste machen, Python. Und es gibt auch wie HTML 101 und all das gute Zeug, CSS 101. Dieser wird HTML 101 genannt. Und so sagen wir, wir wollten JavaScript bekommen. Wir wollten das hier rausholen. Nun, wir wissen nicht unbedingt die ganze Zeit, alle Werte, die in einem Wörterbuch kommen. In der Regel machen wir einige Druck-Debugging, wo wir Kurse drucken. Und dann, wenn wir es da drin sehen, können
wir natürlich JS drucken. Wir könnten so etwas tun, aber wir werden das Debugging nicht immer kennen und manchmal drucken. Es. Es ist in Ordnung, aber es ist, es ist irgendwie schmerzhaft, gleichzeitig zu tun. Es gibt also einen besseren Weg, das zu tun. Also können wir tatsächlich sagen, Kurse dot JS bekommen und Sie werden das oft sehen. Kurse dot bekommen JS, keine. Und das wirst du sehen. Dot erhalten einen Eigenschaftsnamen, der unserem Löwen auf Linie zwei oder Eigentum auf Zeile zwei entspricht. Oder ein Schlüsselname ruft manchmal Eigenschaft als Schlüssel auf. Das sind austauschbare Begriffe. Oder wenn es keinen gibt, setzen Sie eine Art von Standard. Und der Standard hier wird N O N E wird None sein. Und wenn wir das ausdrucken, werden
wir sehen, dass es uns JavaScript 101 gibt. Nun, das ist gut. Das ist genau das, was wir wollen. Aber was, wenn wir CSS bekommen wollten? Nun, da ist nichts drin, also wird das absolut nichts drucken, nur keines. Keiner da drin, weil nichts da ist. Und wir können ihm auch einen Standardtext geben, Standardtext hier. Und das wird uns den Standardtext hier drin geben, oder besser noch, weil wir die Art von JavaScript, Eins-zu-Eins-HTML, Eins-zu-Eins, Python, Eins-zu-eins, et cetera, et cetera. Wir könnten CSS 101 machen. Und wenn es also CSS 101 aus diesem Wörterbuch bekommen kann, großartig, es wird, sonst wird es standardmäßig CS101 auf, wenn wir das drucken, werden wir sehen, es sagt CSS 101. Und das liegt daran, dass CSS
als Schlüssel, als Eigenschaft innerhalb dieses Wörterbuchs einfach nicht existiert. Es fällt also auf CSS eins zu eins zurück oder was auch immer wir uns entscheiden, es zu geben. Nun, wo dies nützlich ist, ist, wenn ich das auskommentiere, können
wir sagen, ob Kurse dot
CSS bekommen und wir werden es nicht geben, weil das der Standard ist. Wir können einfach „Drucken“ sagen. Sie sind in Baseball eingeschrieben, dass richtig, in CSS 101
eingeschrieben. Jetzt sieh dir das an. Dies wird nichts drucken, tut absolut nichts. Was ist, wenn wir sagen, wenn Kurse dot bekommen und ihm eine Art von Wert in Ihrem CSS gegeben, eins zu eins. Wird das exekutieren? Und das ist eine gute Frage, die Sie sich stellen sollten. Es besagt, dass Sie in CSS eins zu eins registriert sind, und das liegt daran, dass es diesen CSS-Wert nicht erhalten konnte. Also dann ging es und setzte einen Standardwert ein. Und das ist viel wie zu sagen, ob eine Zeichenfolge gleich CSS 101 ist, weshalb Sie das oft sehen werden. Und das ist nur ein wenig expliziter geschrieben. Dies wird also sagen, wenn Kurse dot CSS bekommen, wenn es eine gibt, cool, führen Sie diese if-Anweisung aus. Sonst keines. Und wir wissen in bedingten Anweisungen mit Python, dass, wenn Sie sagen, wenn keine, dies dasselbe sein wird, als wenn falsch zu sagen, es wird nicht ausgeführt. Also, wenn wir das noch einmal ausprobieren, wird
es nichts drucken. Ich kann das immer und immer wieder tun. Buchstäblich druckt nur nichts. Jetzt werden Sie das die ganze Zeit sehen, nonstop wahrscheinlich jeden einzelnen Tag als professioneller Python Entwickler, was Sie als Ihre Aufgabe tun möchten, sind das, was ich möchte, dass Sie tun, da Ihre Aufgabe ein wenig praktische Erfahrung mit diesem . Gehen Sie weiter und erstellen Sie ein Wörterbuch. Und in diesem Wörterbuch möchte ich, dass Sie gehen und dann
dot get und dann einen der Schlüsselwerte verwenden und ihm einen Standard geben. Und spielen Sie einfach mit einer if-Anweisung. Im Grunde tun Sie genau das, was ich in diesem Video gemacht habe, auch wenn es nur dreißig Sekunden dauert, denken
Sie vielleicht, oh, na ja, das ist bedeutungslos. Aber wirklich, du baust hier eine Menge Muskelgedächtnis auf. Und was schön an Muskelgedächtnis ist, sobald Sie es sehen, sobald Sie anfangen, es zu tippen, irgendwann wird es einfach zur zweiten Natur. Du musst nicht darüber nachdenken. Es passiert einfach. Du kennst nur Python. Probieren Sie das aus. In der nächsten Lektion werden wir über etwas
komplizierteres sprechen , eine virtuelle Umgebung genannt.
20. Eine virtuelle Umgebung erstellen: Okay, reden wir über virtuelle Umgebungen. Eine virtuelle Umgebung ist eine Möglichkeit, Pakete zu partimentalisieren. So kann ich zum Beispiel pip verwenden, um meine Pakete zu zeigen. Ich kann sagen, Pip zeigt Django. Und ich habe Django hier installiert. Ich benutze Django 2.2.1 drei, und das ist auf meinem Computer. Was ist, wenn ich ein Projekt habe, das eine andere Version von Django verwendet, sagen Sie Django 3.1. Und dann machen wir einen Schritt komplizierter. Was ist, wenn ich fünf verschiedene Websites habe, die Django verwenden, aber sie alle verschiedene Django-Pakete verwenden. Momentan muss Pip Django deinstallieren und pip install Django ist gleich 3.1, was auch immer es ist, ich müsste das immer und immer wieder tun. Und Sie können tatsächlich sehen, wenn ich Pip show jangle hier verwende , dass es Ihnen genau zeigt, wo Django ist, und das ist direkt auf meinem Computer. Es ist in Bibliotheks-Frameworks, Python Framework-Versionen 3.8 lib Python 3.8 Site-Dash-Pakete. Das war ein Bissen voll. Aber was ist, wenn Sie, wissen Sie, ein Projekt haben, sagen
wir mal wieder eine Django-Website
, auf der Sie dies mit allen anderen in Ihrem Unternehmen teilen möchten. Und Sie wollen, dass sie auch Django verwenden. Nun, anstatt Django zu verpacken und mit Ihrer Website versenden
und sie an alle zu senden, trifft wie eine Datei zu zippen und sie an alle zu senden. Sie können ihnen einfach sagen, dass sie Django mit einer bestimmten Version installieren sollen. Und wir tun dies und wir trennen diese verschiedenen Versionen , wo wir trennen diese verschiedenen Umgebungen sind diese Projekte mit einer virtuellen Umgebung? Und das ist eine sehr, sehr häufige Sache in der Welt von Python. Und so, um in eine virtuelle Umgebung zu gelangen, erfordert
eines von zwei Dingen, einer von zwei Schritten eher, entweder werden Sie auf einem Unix-basierten System wie Mac OS oder Linux sein. Sie sind sehr, sehr ähnlich. Oder du wirst unter Windows sein, ich werde dir zeigen, wie man es auf beiden macht. Also, um eine neue virtuelle Umgebung zu erstellen,
lassen Sie uns zunächst ls dash l a tun, oder wenn Sie in Windows sind, können Sie DIR eingeben. Und wenn ich hier nach oben scrollen, normalerweise wirst du einen Ordner namens dot vendor sehen oder einfach vend oder n. Dies sind die drei häufigsten, die ich da draußen gesehen habe. Also haben wir noch keine von denen. Lassen Sie uns voran und erstellen Sie das, damit wir Python,
Bindestrich m, v und v dot v und vtun können Bindestrich m, v und v dot v und v Und das ist der Ordner, in den wir ihn einfügen werden. Und es wird eine Sekunde dauern und ein paar Gedanken machen. Vs Code sind schlau genug. Es sagte, wir haben bemerkt, dass eine neue virtuelle Umgebung erstellt wurde. Möchten Sie für diesen Arbeitsbereichsordner auswählen? Ja, okay. Könnte genauso gut. Sie können hier drüben sehen, ich habe eine Mappe. Wenn ich ls dash LA oder unter Windows DIR mache, scrollen Sie nach oben. Ich habe jetzt einen Ordner hier namens Dot Vendor. Ich habe auch einen VS-Code, einer, der nur VS-Code ist, der VS-Code ist. Darum müssen wir uns keine Sorgen machen. Aber ich habe VS, V0 und Vi Ordner hier drin, und es hat bin lib enthalten pi n, v dot CFG. Wenn Sie pi n verwenden, was ich bin, haben Sie das vielleicht nicht. Aber so schaffen wir eine virtuelle Umgebung. Ganz einfach, es ist nur Python Bindestrich m, v dot v NV oder was auch immer Sie diesen Ordner nennen wollen, Ich nenne es normalerweise dot v, n v, Also ist es versteckt. Und wir versuchen, diese nicht in unsere Git-Repositories zu übertragen. Nun, das ist alles gut und gut. Aber wenn ich Pip zeige Django. Es verwendet immer noch den exakt gleichen Ort. Es verwendet immer noch die exakt gleiche Version wie zuvor. Wir nutzen unsere virtuelle Umgebung nicht. Wir müssen hineinkommen, also haben wir es erschaffen. Aber jetzt müssen wir in diese virtuelle Umgebung einsteigen. Also, wenn Sie auf Mac sind oder wenn Sie unter Linux sind, können
Sie Quelle Punkt VN wurde aktiviert eingeben. Und Sie können sehen, dass Punkt VN hier drüben steht. Ich bin jetzt in einer virtuellen Umgebung. Jetzt sieh dir das an. Wenn ich Pip mache, zeig Django, nichts taucht auf. Es ist nicht in ihrer virtuellen Umgebung installiert. Und was cool daran ist, dass ich Django pip installieren kann. Und ich werde Ihnen Windows-Anweisungen geben, um in
Ihre virtuellen Umgebungen zu gelangen , sobald dies erledigt ist. Also, das geht einfach los. Downloaden Sie Django, Pip, zeigen Sie Django. Und das verwendet jetzt Django 3.2.4. Es ist in meinem Python 201-Ordner, Punkt Ven in seiner Bibliothek, Python 3.8-Site-Pakete. Cool. Also lasst uns hier rauskommen. Wir kommen hier mit deactivate raus. Und das brachte mich gerade aus meinen virtuellen Umgebungen
heraus , um wieder in die virtuelle Umgebung zu gelangen Wenn Sie Windows verwenden, ist
diese etwas schwieriger. In der Regel tun wir etwas wie Backslash,
Punkt, Punkt Skripte, Punkt aktivieren, Punkt Fledermaus. Dies hängt jetzt stark von Ihrem Betriebssystem ab. Wenn Sie eine virtuelle Umgebung erfinderisch erstellen, es wird in Punkt v Drayton hier sein. Andernfalls, was Sie oft gehen, um einen Punkt zu sehen oder nicht Punkt sondern Schrägstrich ENV-Skripte mit einem großen S aktivieren aktive acht Punkt Fledermaus. Und so gelangen Sie mit Windows in Ihre virtuelle Umgebung, es wird eine dieser beiden Optionen sein. Also lasst uns wieder rein hier, ich werde es tun und den Mac-Weg, also Quellpunkt VN wurde aktiviert. Und jetzt bin ich drinnen. Pip Show Django. Und das wird mir zeigen, jangle mit 3.1.4 genau da. Deaktivieren Sie, um aus ihm herauszukommen. Pip, zeig Django nochmal. Und mein Computer verwendet Version 2.2.1 drei. Mein Computer hat also Zugriff auf einen Django, aber es ist eine ältere Version von Django. Meine virtuelle Umgebung, die brandneu ist, hat eine brandneue Version von Django. Und so kann ich jetzt zwei verschiedene Versionen von Django oder ein beliebiges
Python Paket verwenden und sicherstellen, dass sie nicht in Konflikt geraten. Ich kann eine andere virtuelle Umgebung einem anderen Projekt mit einer anderen Version von Django haben. Und so ist die ganze Idee hier, dass, wenn Sie mehrere Projekte unterwegs haben, es wirklich, wirklich einfach ist, nur
ein Projekt zu aktualisieren und sich nicht um ein anderes Projekt kümmern zu müssen. Denn wenn Sie ein Projekt upgraden und Sie alle Ihre anderen
aktualisieren müssen , wird das saugen. Ich habe jetzt über 200 Websites von meinem Job auf meinem Computer. Und ich konnte mir nicht vorstellen, dass ich Django
und 200 Websites jedes Mal aktualisieren musste, wenn ich ein bisschen eine Versions-Beule machen wollte. Und so hält das es einfach schön und einfach und getrennt für uns. In der Regel, wenn Sie an einer Art von Python Projekt arbeiten, erstellen
Sie eine virtuelle Umgebung. Es ist immer eine gute Idee, auch wenn Sie nur ein Projekt auf Ihrem Computer haben, stellen Sie
sicher, dass Sie eine virtuelle Umgebung erstellen. Und wieder, das ist nur Python Bindestrich m, v dot v und v. Und dann wird es Quellpunkt VN sein, wurde aktiviert. Oder wenn Sie unter Windows sind, wird
es Skripte Schrägstrich, Debatte, Punktschläger sein. Und das wird dich reinbringen. Und dann, wenn Sie in sind, tippen Sie einfach deaktivieren, um aus ihm herauszukommen. Erstellen Sie eine virtuelle Umgebung und gehen Sie dann hinein. Tun Sie etwas wie pip installieren Django und dann deaktiviert. Sobald Sie diese virtuelle Umgebung aktiviert haben, können
Sie sie eingeben und beenden. Perfekt. Lassen Sie uns zur nächsten Lektion gehen, in der wir über
einen besseren Weg sprechen , Python mit einer neuen Art von Python Shell zu lernen.
21. Wie du Python lernst, indem du es erforschen und mit iPython verwendest.: Werfen wir einen Blick darauf, wie wir Python auf eine interaktive Weise lernen können. So können wir immer in Python gehen. Und wir können eine Art von Objekt erstellen und dann Punkt und dann Tab drücken. Und es wird uns alle möglichen Methoden zeigen. So können wir zum Beispiel eine Zeichenfolge namens name haben. Wir werden das Python 201 nennen. Und dann könnten wir den Namen Punkt machen, ein paar Mal auf
den Tab drücken und wir können hier alle verschiedenen Dinge sehen. Zum Beispiel könnten wir dies kapitalisieren. Es ist bereits kapitalisiert. Das wird nichts tun. Benannter Schuss. Endet mit könnten wir 201 tun und das wird wahr für mich zurückkehren. Und so können wir all diese verschiedenen Dinge sehen und wir müssen es auch nicht mit einer Schnur tun. Wir sind gerade zufällig mit dieser Saite zu tun. Wir können es mit einem Tupel,
einem Wörterbuch, einer Liste,so
ziemlich jedem Datentyp tun einem Wörterbuch, einer Liste, , der eine Art
Transformation für Ihre Daten hat , können Sie dies mit tun. Also zum Beispiel, wenn ich das in Worte fassen wollte, Wir könnten den Namen Punkt machen und wo bist du dann? Es heißt „Split“, genau da. Split, Name dot split und wir wollen es auf jedem einzelnen Raum teilen. Jetzt sieht es so aus, als ob es nichts getan hat, aber Worte ist jetzt eine Liste. Wir können words.py umgekehrt machen. Und lassen Sie uns einen Blick auf diese Worte DOD Hit Tab ein paar Mal, kehrt ganz am Ende. Umgekehrt. Es ist rückwärts. Und jetzt können wir uns dem wieder anschließen. Und dann können wir das wieder zusammensetzen, indem wir Kurse gleich einem Stringpunkt sagen. Und wir hatten hier oben in String Join. Wie wollen wir diese miteinander verbinden, sind, was wollen wir zusammenschließen? Vielmehr
verwenden Worte, da wir sagen, ein Leerzeichen, um alle Wörter miteinander zu verbinden. Kurs. Und jetzt habe ich gerade die ganze Formulierung in einem Kurs umgekehrt. Jetzt anstatt 201 zu sagen oder anstatt Python 21 zu sagen, heißt
es 201, Python. Und das ist eine wirklich, wirklich, wirklich, wirklich mächtige Möglichkeit, zu lernen, wie man programmiert. Also, wenn ich das noch einmal klar
mache, können wir Worte machen. Ich habe 201 und Python in ihren Worten dot. Lassen Sie uns Pop, der das Wort Python zurückgegeben hat. Und wenn ich Worte mache, habe ich nur das ein Wort da drin, das ich wieder Pop machen kann. Es gibt mir das letzte Wort zu einem. Words ist jetzt ein leeres Array oder eine leere Liste. Wenn Sie eine Art von Wörterbuch haben, können
Sie immer einen Wörterbuchpunkt machen. Und dann drücken Sie die Registerkarte ein paar Mal, stellen Sie sicher, dass es ein tatsächliches Wörterbuch ist, also haben Sie einen richtigen Wert darin. Aber dann könnten Sie Ihr Wörterbuch Punkt Tab oder Tab ein paar Mal machen. Und es wird Ihnen alles zeigen, was Sie tun können. Was ich möchte, dass Sie tun, ist, dass Sie ein Tupel erstellen, Punkt
drücken und dann Tab drücken. Und dann möchte ich, dass du siehst, was du mit einem Tupel tun kannst. Und dann möchte ich, dass Sie dasselbe mit einer Liste tun, weil Listen und Tupel fast dasselbe sind, aber Tupel sind nicht wirklich veränderbar. Sie können nicht wirklich viel mit einem Tupel machen. Und ich möchte, dass Sie die Unterschiede vergleichen. Und dann einfach erkunden, fühlen Sie sich frei, Sie zu erkunden. Das Schlimmste, was Sie tun werden, ist ein bisschen Schaden an Ihrer Variablen, nicht an Ihrem Computer, nicht an Ihren virtuellen Umgebungen. Alles andere wird völlig in Ordnung sein. Du wirst nur deine Variable transformieren. Das ist alles, was du tun wirst. Und das ist eine sehr, sehr,
sehr mächtige Möglichkeit, Python zu lernen. Django, Flask, wirklich alles, was Python verwandt wie Wag bis CMS, irgendetwas wirklich. Du wirst in der Lage sein, es zu tun. diese Weise wirst du es viel schneller lernen können. Und das liegt daran, dass einfach ein Kurs nicht über jeden einzelnen Gegenstand hier gehen sollte. Beispiel: Name dot. Ich werde Ihnen nicht beibringen Format Karte oder ist numerisch, oder ist druckbar oder Partition oder so etwas, weil es einfach zu viele Optionen. Dasselbe mit einer Liste. Es gibt viele Optionen und Sie sind jetzt das klingt nicht nach vielen Optionen,
aber stellen Sie sich vor, was Sie mit einem Wörterbuch-Mapping tun können, was Sie als Klasse tun können, stellen Sie sich vor, was Sie mit einem Tupel oder einem Satz tun können und Alle von denen eins nach dem anderen ist ehrlich, es ist schmerzhaft für Sie zu beobachten. Es ist auch schmerzhaft für mich zu unterrichten. Und ehrlich gesagt, werden Sie die meisten von ihnen nicht benutzen. Also, wenn Sie Code in der Wildnis sehen, sagen
wir, Sie arbeiten mit dem Senior Entwickler und ein Senior Entwickler hat einen wirklich ausgefallenen Code und Sie sind wie, whoa, was macht Words dot extend? Nun, jetzt wissen Sie, dass Sie mit words.txt oder list.append eher experimentieren können. Jetzt ist dies eine Möglichkeit, Ihre Shell zu verwenden und das ist einfach Python einzugeben, die
Sie in ihre andere Weise bringt , können Sie IPython verwenden und ich wirklich, wirklich wie IPython, also installiere ich pip ipython clear, und anstatt Python zu tippen, Ich tippe einfach IPython. Und Sie können sehen, es ist ein wenig schöner in Ihrem Namen ist gleich k lappen, groß, mager. Nennen Sie Punkt, drücken Sie Tab ein paar Mal. Und jetzt können wir diese wirklich durchziehen und es gibt es für mich aus. Sie können auch hier viel einfacher kopieren und einfügen. Sie könnten mehrere Zeilen machen, Sie können alle möglichen Sachen machen. Und das ist ein noch besserer Weg, um zu erkunden, weil es ein wenig interaktiver ist. Es ist einfacher zu sein, wie, oh, was Zed Fill nimmt genau ein Argument, 0 wir gegeben sind, füllen wir es mit einem Eins. Mal sehen, was passiert. String kann nicht als Ganzzahl interpretiert werden. Ok? Cool, ich habe keine Ahnung, was Zed Fill tut. Ich werde das erkunden, nachdem dieses Video eingewickelt ist. So lustig, lustig. So lernen wir. Und so können Sie selbst lernen, damit Sie keinen anderen Python Kurs oder
einen anderenFull Stack-Webentwicklungskurs absolvieren odersich ein weiteres einstündiges Tutorial zu zed fill
ansehen
müssen Full Stack-Webentwicklungskurs absolvieren oder . Sie können es selbst erkunden und dann herausfinden, was Sie von dort lernen müssen. So maximieren Sie Ihre Zeit, indem
Sie Ihre eigene Erkundung durchführen und Ihre eigenen Erfahrungen sammeln. In der nächsten Lektion gehen wir weiter und sprechen über Pakete.
22. Einführung in die Python-Pakete: Lassen Sie uns jetzt über Pakete sprechen. Okay, also haben wir diese Idee von einem Paket und wir haben uns mit dem etwas befasst. Wir haben pip installiert iPython. So buchstabieren Sie Python nicht, IPython. Wir haben pip installiert Django. Wir waren bei einspitzigen pimping pip installieren ColorRamp, und wir werden wieder pip installieren genannt Rama. Aber zuerst kommen wir in unsere virtuelle Umgebung. Also, wenn Sie nicht über einen Python Bindestrich M, ven van Gogh, Coca-Cola, Quelle, bin aktivieren. Ich befinde mich jetzt in meiner virtuellen Umgebung. Ich kann jetzt tun pip installieren ColorRamp. Und ich weiß, dass Farbe Rama ein Paket ist, das wir benutzen können und es wird es installieren. Cool, cool, cool. Es sagt, erfolgreich installierte Farbe Emma, 0.4. Punkt. Für jetzt, lassen Sie uns gehen und werfen einen Blick auf einige der Dokumentation, Ihre Farbe Rama auf Pi Pi. Und hier finden Sie jede Art von Paket pi, pi.org. Sie können nach allem suchen. Wenn ich zum Beispiel Wag Tail-Pakete wollte, könnte
er verschiedene Möglichkeiten finden, Pakete hier zu erzählen. Wenn Sie Django-Pakete finden wollten, tippen
Sie buchstäblich einfach Django ein und Sie werden alle möglichen Django-Pakete für Sie finden. Und du bist, die, die ich verwenden werde, ist Farbe Rama, Farbe M0, 0.4.4. Und es sagt uns, wie man es installiert. Das ist großartig. Wie verwenden wir es jetzt? Und es sagt uns, in Ihren Anwendungen sollte Farbe Emma mit Farbe Rama Import init initialisieren und dann, und dann tatsächlich instanziieren, dass init. Okay, also gehen wir weiter und machen das. Also lasst uns in eine normale Python -Shell-Mutter gehen, eine IPython Shell, nur eine normale Python-Shell. Und eigentlich werde ich meine Meinung dazu ändern. Anstatt reguläre Python -Shell zu verwenden, werde
ich IPython verwenden, weil wir es installiert haben, es genauso gut von ColorRamp verwenden, niedrigen RAM
aufrufen, init importieren. Und dann wollten wir init laufen. Okay, cool. Es sieht so aus, als ob es nichts getan hat, aber die Anweisungen bisher befolgten. Wie bekomme ich farbige Ausgabe? Also lassen Sie uns voran und tun, lassen Sie uns ehrlich gesagt einfach kopieren und einfügen. Kopiere das ganze Ding. Füge das ganze Ding da rein und sieh dir das an. Wir haben einen roten Text. Wir haben Text mit dem, was vermutlich außerhalb von IPython ein grüner Hintergrund gewesen wäre, einige dimmer Texte und normaler Text hier drin. Also alles, was wir hier taten, war, dass wir Import sagten. Für Backend-Stil. Wir sagten, der Vordergrund wird gelesen werden. Der Hintergrund hier wird grün mit etwas grünem Text sein. Dann Stil Dim, Dimmen diesen Text. Style, setze alles zurück und es ist wieder normal. Das ist alles, was wir getan haben. Und so, um ein Paket zu verwenden, installieren
wir wirklich nur pip den Paketnamen von diesem Paketnamen, importieren etwas. Jetzt wissen wir nicht, was genau wir importieren können. Und deshalb ist es so wichtig, die Dokumentation zu lesen. Und es sagt uns alle möglichen Dinge, die wir hier tun können. Nun, das ist ein hässliches Beispiel. Gehen wir also voran und führen Sie dies in unserer regulären Python -Shell aus. Lassen Sie uns Python Strich v. Ich benutze Python 3.8. Sie können es auch nur in Ihrer normalen Python -Shell ausprobieren. Es wird wahrscheinlich besser in Ihrer Python -Shell. Aber was wir hier tun können, ist, dass wir tun können, um zu tun, zu tun, lassen Sie uns das importieren. Lassen Sie uns von Farbe Emma, colo Rama, Import init. Dann müssen wir Lügen darin instanziieren. Und lassen Sie uns voran und speichern Sie dies als Pakete dot py. Und ich werde das hier etwas kürzer machen. Und was ich tun werde, ist, alle meine Importe an den Anfang des Drehbuchs zu bringen. Und wir können diese sogar zusammen verschmelzen. Und wir können von ColorRamp sagen, dass es init für Backend-Stil importiert. Gehen wir voran und führen Sie dies jetzt aus, damit es gespeichert wird, und lassen Sie uns dies in Python ausführen. Und da gehen wir. Da steht ein roter Text. Und mit einem grünen Hintergrund, das ist eigentlich eine super hellgrüne Hintergründe. Vielleicht hatte iPython Recht und ich kann einfach nicht ganz sehen, dass es super dunkel ist. Wir behalten den dunkelroten Text mit einem grünen Hintergrund. Dann setzen wir es wieder auf den Normalzustand zurück. Und wir führen all dies innerhalb unserer Pakete dot py script. Und das ist wirklich alles, was es zu einem Paket gibt. Denken Sie daran, alles, was Sie tun müssen, ist pip installieren Sie den Paketnamen. Und dann machen wir vom Paketnamen, Import, Sache eins, Sache, zwei Dinge. Und wir folgen einfach der Dokumentation. Und der Schlüssel hier ist wirklich die Dokumentation zu folgen. Selbst auf pi-pi hier befolge ich normalerweise nicht einmal die Dokumentation von pi pi pi. Ich gehe normalerweise direkt zu github, github, github, git hub. Und das wird mir sagen,
ich denke, das ist genau das gleiche, so großartig. Aber es sagt mir auch, dass andere Dinge wie verfügbare Formatierungskonstanten für die Vordergründung sind. Schwarz, Rot, Grün, Gelb, Blau, Magenta, Cyan Gewicht, Reset, Hintergrund, dasselbe. Stil. Wir können dimmen, normal hell oder wir können alle zurücksetzen. Also, was ich möchte, dass Sie tun, ist pip installieren ColorRamp. Gehen Sie zu dieser ColorRamp GitHub Seite. Lesen Sie sich die Dokumentation durch, stellen Sie sicher, dass Sie Farbe Emma importieren und init aus Farbe importieren Emma. Führen Sie init aus und kopieren Sie das dann im Grunde einfach und fügen Sie es ein. Das habe ich getan. Und haben Sie einfach Spaß damit. Denn jetzt können Sie Ihr Terminal aussehen als nächstes n bunt, Das ist erstaunlich
, weil Terminals sind notorisch langweilig. Jetzt werden Sie die ganze Zeit Pakete verwenden, nonstop. Jeden Tag. Du wirst jeden Tag Dinge importieren. Daher ist es wichtig, dass Sie wissen, wie Sie Pakete verwenden. Probieren Sie das aus, und wenn Sie bereit sind, gehen wir über die nächste Lektion, wo wir vor unserem endgültigen Projekt
eine kleine Aktualisierung von API-Anfragen durchführen.
23. Eine kurze API-Anfragen: Alles klar, willkommen in der API-Anfrage Auffrischungsstunde. Was wir hier tun werden, ist nur eine kurze kleine Auffrischung für API-Anfragen. Also, wenn ich das Erstellen von JSON API Request dot pi öffne, lass uns voran gehen und einen Blick auf das werfen, was wir ursprünglich geschrieben haben. Und so werden wir in diesem Video keine Codierung machen. Wir werden einfach darüber nachdenken, wie das funktioniert. Also Anfragen als Paket importieren
wir es und genau wie im letzten Video, in dem wir ColorRamp
importiert haben , haben wir Anfragen importiert. Und damit kam ein Objekt oder eine Methode namens get, bis wir unseren EQ tun, das könnte alles sein, was gleich ist, um dot get, und dann eine Art URL. Und das wird nur diese Daten für uns holen. Dann, wenn diese Daten JSON sind, werden
wir einfach sagen, dass Anforderungsobjektpunkt den JSON liest. Und was das tut, ist, dass JSON in ein Python Wörterbuch verwandelt, das wir später verwenden können. Also in diesem Beispiel, das wir verwendet haben, glaube
ich, das war C3PO, und das ist jetzt ein Wörterbuch und wir können Personennamen drucken weil Name eine Eigenschaft oder ein Schlüssel auf der Person Wörterbuch ist, Geburtsjahr war auch verfügbar. Also setzen wir das Geburtsjahr der Person genau wie ein Standardwörterbuch endet, weil dies als JSON kommt, was technisch nur eine Zeichenfolge ist, aber es ist auf eine bestimmte Weise formatiert und Python hat das erkannt und es in eine -Wörterbuch. Wir sagten auch für jeden Film, dass diese Person war in, für jeden Film C3PO war er machen eine neue Anfrage an diesen Film. Das war also eine Liste von Filmen. Und so wird das durch jeden von ihnen gehen. Ich glaube, es gab etwa sieben von ihnen oder so. Die Daten wurden also noch nicht vollständig ausgefüllt. Aber dann sagten wir, für jeden Film, gehen Sie vor und holen Sie sich die Füllung. Dann sagten wir, überschreiben Sie das bei jeder Iteration, also überbewerten Sie den Film. Und weil wir wissen, dass es JSON sein wird, verwandeln Sie diesen JSON in ein Wörterbuch namens Film. Und dann haben wir gesagt, der Film ist und dann der Titel. Und das haben wir alles vom Tausch von Dot Dev bekommen. Jetzt in unserem endgültigen Projekt werden
wir keinen Tauschpunkt verwenden. Wir werden pokey api dot co verwenden. Es ist also sehr, sehr ähnlich, aber stattdessen werden wir etwas mit ein wenig mehr Informationen verwenden. Und so können Sie sehen, dass dies wie eine Menge von verschiedenen Wörterbüchern hier. Fähigkeit ist also ein Wörterbuch, aber das hat eine Liste von Fähigkeiten hier drin. Dies ist also eine Liste und das ist nur ein Standard-Schlüsselwert-Paar. Also werden wir mit ein wenig mehr arbeiten, denke
ich, eine erweiterte API. Aber wir werden Dinge auf eine einfache,
einfache Art und Weise verwenden, weil Python die Dinge einfach hält. Also für dieses Video, anstatt irgendein Coding zu machen, möchte
ich, dass du zu pokey api dot SEO gehst und es einfach durchliest, damit experimentiert, klickt um. Versucht, Dinge zu brechen, auch wenn Sie nicht vertraut mit Pokemon, es ist völlig in Ordnung. Wir können nur einige Basisbeispiele aus dem, was sie uns zur Verfügung stellen, verwenden. Denn in ihrem letzten Projekt, was wir tun werden, ist die Verwendung dieser API und wir werden eine Reihe von verschiedenen Informationen holen. Also gehen Sie weiter und machen Sie sich ein wenig vertraut mit der Pokey-API. Haben Sie kein Gefühl, dass Sie irgendeinen Code schreiben müssen. Wir werden das als unser letztes Projekt machen. Der Code-Teil wird unser letztes Projekt sein. Wenn Sie bereit für das endgültige Projekt sind und vielleicht eine
halbe Stunde beiseite legen , um das Video anzusehen und an dem Projekt zu arbeiten. Aber sobald Sie diese Zeit beiseite gelegt haben, gehen wir über die nächste Lektion, die letzte Lektion, wo wir eine Pokemon-Charakter-App erstellen.
24. DEIN PROJEKT: Werfen wir einen Blick auf unser endgültiges Projekt, oder das letzte Projekt wird eine Pokemon-Charakter-App erstellen. Also, was ich möchte, dass Sie tun, ist, lasst uns hier einige Anweisungen schreiben. Was ich möchte, dass Sie nach Benutzereingaben fragen. So zum Beispiel, fragen Sie nach einem Pokemon, die Pokemon oder wir werden darüber sprechen könnte wie dito, zum Beispiel. Dann müssen Sie eine API-Zeichenfolge in ABI-URL erstellen. Eine Menge wie diese, wo es heißt, wir können direkt hier gehen und geben uns alle Informationen. Wir werden nur diese URL nehmen, aber wir werden dito für was auch immer die Benutzereingaben ändern . Schritt zwei wird also eine dynamische URL basierend auf Schritt 1 erstellt. Nummer drei ist, dass wir diese Daten dann mit Anfragen abrufen müssen. Schritt drei ist also, die Daten von der URL abzurufen. In Schritt zwei wird Schritt vier das JSON und die Daten ausdrucken. Aber weil es JSON ist, können
wir es nicht wirklich ausdrucken. Wir müssen es umwandeln. Schritt vier wird also JSON in ein Wörterbuch konvertieren. Schritt fünf wird dann ausdrucken einige Pokemon-Daten. So drucken Sie Pokemon Daten. Und die Daten, von denen es kommen wird, zum Beispiel hier. So hat es Fähigkeiten, es hat Formen als Basis erfahrene Spielindizes, eine Höhe gehalten Gegenstände, bewegt ID hat alle möglichen Sachen hier drin. Also überlasse ich das dir, was du zeigen willst. Also habe ich Sie jetzt durch die genauen Schritte geführt, die Sie brauchen, um eine Form von Python Programm zu erstellen , das ein Pokemon als String akzeptieren kann. Und dann können Sie diese Daten von einer API abrufen und in Ihrem Terminal anzeigen. Was ich hier tun werde, ist, dass ich das als Projekt dot py speichern werde. Kommentieren Sie das aus. Und ich werde Ihnen dann zeigen, wie ich dieses exakte Projekt mache. Aber ich möchte, dass du das hier eine Chance gibst, fair, also mach mir bitte eine solide hier und pausiere das Video und probiere es selbst aus. Zögern Sie nicht, diese Anweisungen erneut zu referenzieren, aber versuchen Sie es selbst. Versuchen Sie, Ihr Gehirn schwitzen zu lassen. Versucht, das, was Sie in
diesem Kurs bereits gelernt haben, zu nutzen , ohne den Rest dieses Videos ansehen zu müssen. Jetzt werden unsere Lösungen garantiert sehr unterschiedlich sein. Und das ist okay. Es gibt eine Million verschiedene Möglichkeiten, dasselbe in der Programmierung zu tun. Wenn ich das schreibe gegen meinen Mentor, der das schreibt bekommen
wir trotzdem einen anderen Code. Und Ihr Code wird anders aussehen als mein, aber das ist nicht der Punkt. Der Punkt ist, du gibst dem einen Schuss, um dies nach besten Kräften auszuprobieren. Wenn du jetzt stecken bleibst, ist das okay. Wenn Sie stecken bleiben, können Sie einfach das Video
fortsetzen und Sie können genau sehen, wie ich es mache. Also werde ich ausblenden und einblenden und ausblenden. Ich möchte, dass du das Video pausierst und es ausprobierst. Viel Glück. Vergessen Sie nicht, etwas Spaß damit zu haben. Dies ist ein wirklich guter Anwendungsfall von Python und APIs. Sie werden dies in der
Web-Entwicklung und allen möglichen Pythonic-Zeug auf der Straße brauchen . Na gut, lassen Sie uns das Projekt beenden, oder ich schätze, starten Sie das Projekt und dann beenden wir es. Also zuerst, Schritt Nummer eins, müssen
wir den Benutzer um Eingabe bitten. Also werden wir sagen, die Pokemon, Pokemon ist gleich Eingabe. Welches Pokemon Willst du finden? Und dann werden wir sagen, Pokemon ist gleich Pokemon Punkt niedriger. Und wir wissen, dass wir Punkt tiefer machen und dies
neu zuweisen müssen, weil Strings nicht veränderbar sind. Wir müssen im Grunde diesen Wert von Pokemon nehmen, was auch immer die Benutzerraten, senken Sie es, und dann Marmelade es wieder in ein anderes Stück Speicher namens Pokemon nur zufällig der gleiche Name hier. Das ist also, wo Veränderbarkeit gegen Unveränderlichkeit ins Spiel kommt. Dann müssen wir eine dynamische URL basierend auf Schritt 1 erstellen, so dass URL wird diese URL hier sein. Kopieren, werfen Sie das in eine Zeichenfolge, aber es wird nicht immer Daten sein. müssen wir ändern. Also lasst uns das in Pokemon ändern. Und machen wir das zu einer f-Saite. Also, das ist Schritt zwei. Schritt drei besteht darin, die Daten von der URL in Schritt zwei abzurufen. So können wir sagen, dass REQ gleich ist, um Punkt die URL zu erhalten. Und was verwenden wir Anfrage, wir müssen dann importieren Anfragen, Anfrage. Und das ist eigentlich Plural. Es soll Anfragen sein, also verwenden wir Anfragen dot get, dann die URL. Und das ist Schritt drei. Schritt vier besteht darin, die Daten in ein Wörterbuch zu konvertieren. Dann können wir hier runtergehen und sagen, dass Daten sein wird, was auch immer diese Anfrage ist. Json, wir wissen, dass es in JSON-Form kommt, also können wir Dot JSON darauf verwenden. Das ist Schritt vier. Schritt fünf ist Ausdruck Pokemon-Daten. Was wollen wir also ausdrucken? Lassen Sie uns den Namen ausdrucken, den wir gefunden haben. So können wir sagen, Druckname ist Tab, Tab. Und dann, was auch immer dieser Name wird Datenname sein. Und wenn Sie sich fragen, woher ich den Namen habe, Daten jetzt ein Wörterbuch. Oder zumindest theoretisch ist es ein Wörterbuch. Und der Name kommt von diesem kleinen Kerl da. Lasst uns das hier größer machen. Und lasst uns vielleicht sehen, welche Art von Fähigkeiten es hat. Das ist also eine Liste. Wir können sehen, dass es eine Liste ist und es eine Liste von Wörterbüchern enthält. Also lasst uns voran und schauen uns die Fähigkeiten an. Dann können wir sagen, dass Druckfähigkeiten etwas sein werden, das wir noch nicht wissen. Und lasst uns einfach diese vier Fähigkeiten in Daten durchlaufen. Fähigkeiten, wir können dies durchlaufen, weil wir wissen, dass dies eine Liste ist. Und so wird diese erste Fähigkeit geschwungen sein und die zweite Fähigkeit wird Betrüger sein. So können wir sagen, Druckfähigkeit. Und das ist auch ein Wörterbuch. Also für jedes Element in dieser Liste wird ein Wörterbuch sein. Und dann haben wir eine Fähigkeit genannt, die auch eine Wörterbuchfähigkeit ist. Und dann wollen wir diesen Namen. Und gehen wir weiter und geben dem eine Chance. Mal sehen, was passiert, wenn wir Python-Projekt ausführen. Ich weiß nicht mal, ob ich Tippfehler habe. Ich habe noch nicht mal nach Tippfehlern gesucht. Welches Pokemon möchte ich finden? Lassen Sie uns nach dito suchen. Es hat Schärfe und Betrüger in ihnen. Cool, ruhig, cool. Okay. Welche anderen Pokemon eigentlich wissen? Und char ist ARD. Seine Fähigkeiten sind, und lassen Sie uns das einfach nach oben bewegen. Ich fand Chars Kunst, seine Fähigkeiten sind Blase und Sonnenenergie. Cool. Wenn wir mehr Informationen erhalten wollten, könnten
wir diese URL tatsächlich erhalten und dort auch eine Anfrage stellen. Und wir können sehen, welche Art von Fähigkeit es hat. Und es hat verschiedene Spracheinstellungen. Wie cool ist das? Wir hatten eine englische Sprache. Die erste ist eine deutsche Sprache Geschmack Texteinträge. Ich weiß nicht mal, was das ist. Das ist jenseits meines Wissens von Pokemon. Aber wie auch immer, wir können, wenn wir wollen, um diese URL für
mehr Details zu ergreifen , was diese spezielle Fähigkeit tatsächlich tun wird. Also an diesem Punkt sind wir ziemlich fertig. Das ist alles, was wir tun müssen. Aber was passiert, wenn du ein Pokemon tippst, das es nicht gibt? Als, als, als, als, als, als, als. Oh, nein, wir haben ein Problem. Und das ist interessant, denn wo sind wir hier? Json-Decoder, JSON-Dekodierung oder Fehler erwarteter Wert Zeile eine Spalte eine tragen. Es sagt im Grunde, dass der JSON nicht richtig formatiert ist. Was wir hier tun können, ist, dass wir all dies in eine if-Anweisung einschließen können. Wenn der req dot Statuscode gleich 200 ist, bedeutet
das, dass wir einen gesunden Statuscode erhalten. Wir können all das Zeug nehmen,
machen, dass nur ein winziges da sind und Dellen das raus. Sonst. Wir konnten nicht drucken Pokemon nicht gefunden. Und jetzt haben wir es hier mit den richtigen Statuscodes zu tun. Gehen wir weiter und versuchen es noch einmal. Fädeln Sie einen Haufen Müll da rein. Es steht Pokemon nicht gefunden. Und so ging es los und ging dorthin, wo auch immer das ist. Das ist offenbar kein Pokemon. Und so wurde Pokemon nicht gefunden. Stellen wir sicher, dass der Statuscode eigentlich
200 sein soll , weil es manchmal zu einem ist. Wer weiß, welches Pokemon ich finden will? Bullosa wund? Und sieh dir das an, das kam wirklich schnell zurück. Name ist bauchig oder Fähigkeiten Überwucherung und Chlorophyll. Cool, cool. Nun, das ist wirklich alles, was es für dieses Projekt gibt. Wenn Sie diesen einen Schritt weiter machen möchten, können Sie dies immer nach mehr Benutzereingaben fragen. Also lasst uns das in der Tat tun. Lassen Sie uns immer nach mehr UserInput gefragt. Also, was wir hier tun werden, ist, dass wir das in eine Schleife einwickeln werden. Wir werden sagen, während etwas wahr ist, stecken Sie das alles in diese wilde Schleife. Und es wird immer um ein Pokemon bitten. Es wird immer eine Anfrage stellen. Und wenn es fertig ist, wird es um ein weiteres Pokemon bitten. Und das ist buchstäblich alles, was wir tun müssen, um dies zu einem dauerhaften oder richtigen Pokemon-Nachschlagewerkzeug zu machen. Also lasst uns voran gehen und Python-Projekt bei pi eingeben. Schauen wir mal nach oben. Okay, ich habe dito gefunden. Was ist mit Char? Melian? Cool. Was ist mit einer, die nicht
existiert, existiert nicht zu sprechen meine nicht gefunden. Und es fragt immer und immer wieder. Und wenn ich jemals aufhören will, kann ich immer die Kontrolle
C übernehmen und das bringt mich aus dieser while-Schleife heraus. Also jetzt haben wir ein Programm, das
ständig fragen wird , welche Pokemon Sie finden wollen? Dies ist eine großartige Möglichkeit, wenn Sie jemals eine App auf der Straße
wie eine Pokemon Suche App oder Pokemon Informationen App bauen wollten. Das ist genau das, was Sie mit Python tun würden. Das war also meine Lösung für dieses spezielle Projekt. Ihre Lösung könnte etwas anders sein. Ihre Lösung könnte ein wenig einfacher sein oder ein wenig komplexer sein. Das liegt ganz an dir. Was ich will, dass du tust, wenn du
das nicht getan hast , ist, dass du es jetzt selbst ausprobierst. Verweisen Sie nicht auf meinen Code, um es selbst auszuprobieren und sehen Sie einfach, wie weit Sie kommen können. Machen Sie Ihr Gehirn Schweiß ist wichtig, um Ihr Gehirn schwitzen zu lassen. Es sollte sich wie ein bisschen ein Kampf anfühlen. Und wenn Sie wirklich, wirklich stecken in Jahren, wie ich einfach nicht weiß, was zu tun ist entweder konsultieren Sie Google, weil ehrlich die Hälfte der Programmierung in diesen Tagen ist nur Googeln Sachen. Und wenn Ihre eigene Forschung Sie nirgendwohin bringt,
dann verweisen Sie auf diesen Code. Und das wird dich irgendwie davon wegbringen, Tutorial-abhängigen Lake zu sein. Dieses Video ist, dieses Video ist sehr Tutorial-Stil und es wird irgendwie bewegen Sie in das Reich der herauszufinden, wie Sie Ihre eigenen Probleme zu lösen. Was wirklich, wirklich, wirklich, wirklich wichtig ist, weil es beim Programmieren darum geht, Probleme selbst zu lösen. Und Sie werden nicht immer einen Lehrer haben, also müssen Sie in der Lage sein, dies alleine zu tun. Ich hoffe, das war angenehm für Sie. Ich hoffe, das war ein lustiges kleines Projekt mit APIs und, und all das gute Zeug, das wir hier viel verwenden. Wir verwenden eine while-Schleife, wir verwenden ein Paket. Wir haben Eingaben niedriger also Veränderbarkeit versus Unveränderlichkeit verwendet. Und F String, wir haben eine API-Anfrage verwendet. Wir überprüfen den Statuscode, so dass es bedingt. Wir haben Code von JSON in ein Wörterbuch verwandelt. Dann haben wir mit Tabs mit mehr F Strings gedruckt. Dann durchlaufen wir jede Fähigkeit und bekamen den Fähigkeitsnamen. Irgendwie cool. Also, das war schön und kurz. Das war eigentlich ein ziemlich lustiges kleines Projekt. Probieren Sie das aus, wenn Sie es nicht getan haben. Letzt möchte ich mich bei Ihnen bedanken, dass Sie diesen Kurs mit mir, Ihrem Lehrer, Caleb gebührt. Das hat viel Spaß gemacht. Ich bin sehr stolz darauf, wie weit du gekommen bist. Vergiss es nicht. Beim Schreiben von Code dreht sich alles um Übung. Üben Sie einfach, üben Sie, üben Sie, schreiben Sie einfach Code, lösen Sie mehr Probleme, schreiben Sie Code, um mehr Probleme zu lösen. Das ist alles, was es ist. Immer und immer wieder. Wieder einmal weiß ich, dass es viele verschiedene Python Kurse gibt, aber Sie haben meinen gewählt. Und das weiß ich wirklich zu schätzen. Also danke, dass du mir von allen Leuten ein bisschen Zeit von deinem Leben gegeben hast. Ich weiß das sehr zu schätzen und hoffe, dass
Sie in der Zukunft einige wirklich coole Dinge in Python bauen können.
25. Python 201: Zusammenfassung: Okay, du hast den ganzen Kurs beendet. Das ist erstaunlich. Zuerst klopfen Sie sich auf den Rücken. Du hast einen tollen Job geleistet. Ich bin super, super stolz auf dich. Ich war Caleb Italiener. Sie können mich auf Twitter bei Caleb Tolkien finden, oder wenn Sie kleine Codierungs-Tipps und Tricks oder Updates alle meine Kurse wollen, können
Sie immer auf Instagram.com Slash Codierung Punkt für Punkt alle gehen. Viele Codierungs-Tipps auf gibt, viele natürlich Updates, wenn Sie mögen, die Art und Weise, wie ich unterrichte, das ist normalerweise, wo ich jetzt seine neuen Kurse und Dinge wie diese. Wenn Sie zu irgendeinem Zeitpunkt wie, oh,
Sie wissen, dass es eine codierende Community
ist, wäre es schön, denn offen gesagt, Codierung kann ein wenig einsam sein. Sie können immer in Sie gehen lernen, Code auf Facebook zu lernen. Es sind 62 oder 65 Tausend Mitglieder da, zum Zeitpunkt dieser Aufnahme. Und es wächst jeden Tag um Hunderte von Mitgliedern. Und Sie können buchstäblich jede Art von Web-Entwicklungsfrage stellen. Es ist eine gepflegte Gruppe. Wir sorgen dafür, dass kein Spam drin ist. Wir kümmern uns sehr um diese Gruppe. Ich und ein Moderator. Wir haben jeden Tag mehrere Stunden damit verbracht, dass die Gruppe gut
gepflegt ist und den höchsten Wert für Sie hat. So können Sie immer kostenlos auf facebook.com programmieren lernen. Nochmals vielen Dank, dass Sie diesen Kurs besucht haben. Ein letztes Mal war mein Name Caleb und sagte, dass ich übrigens super stolz auf dich bin. Und ich hoffe, Sie beim Lernen der Gruppe in einem anderen Kurs von mir zu sehen, oder vielleicht kann ich eines Tages mit Ihnen arbeiten. Glückliche Codierung.