Transkripte
1. Einführung: Hallo und willkommen.
Mein Name ist Andreas und ich werde dein Lehrer
für diesen Python-Kurs sein. Ich bin Computeringenieur und
seit über 20 Jahren Lehrer. Ich habe meine
Computerschule und bringe
Zehntausenden von glücklichen
Schülern wie Ihnen
Python-Programmierung bei. Und ich freue mich sehr, Ihr
Dozent für diesen Kurs zu sein. Python ist absolut die am schnellsten wachsende
Programmiersprache zu den drei Sprachen
geschafft für die Zukunft
zu lernen gilt. Python ist eine
der vielseitigsten
Programmiersprachen. Sie können es für alles verwenden, z. B. maschinelles Lernen,
Webentwicklung ,
Anwendungen, Automatisierung,
Spieleentwicklung und vieles mehr. In diesem Kurs erhalten Sie eine detaillierte und gründliche
Erklärung der
grundlegenden Konzepte der Python-Programmierung. Und ich werde
den Lernprozess so einfach und einprägsam gestalten, Sie sich nicht einmal Notizen machen
müssen. Du wirst lernen, indem du viele Projekte machst und baust. Auf dem Weg dorthin haben Sie auch
Meilensteinprojekte, die
Ihnen helfen, voll
funktionsfähige Programme
und Spiele zu entwickeln , die Sie Ihren Kollegen
präsentieren können. Wir haben über 100
Vorträge mit zehn ADPs, hochwertige
Erklärvideos und ausführliche Folien, die jeder
Vorlesung beiliegen Wenn Sie also völlig neu Programmierung oder in der Python-Sprache sind, sind
Sie hier genau richtig. Also, mit all dem im Hinterkopf,
worauf warten Sie noch? Fahren Sie fort und klicken Sie auf
die Schaltfläche und wir sehen uns
auf der anderen Seite.
2. Warum Python lernen?: Hallo und willkommen in der
aufregenden Welt des Programmierens. In dieser Vorlesung geben wir
einen kurzen
Überblick darüber, was Python ist, warum Python für die
Programmierung ausgewählt wurde und was
Sie mit Python machen können. Python wurde
1990 von Guido Van Rosam entwickelt. Es wurde speziell als einfach zu
bedienende
Programmiersprache Die
Programmiersprache Python ist nach
der Comedy-Gruppe Monty
Python benannt , nicht nach dem Reptil Wenn wir Programmieren sagen, meinen
wir, dass wir Anweisungen
eingeben die der Computer ausführen soll Python ist eine weit verbreitete Programmiersprache
auf hohem Niveau. Natürlich
sind viele
Programmiersprachen auf hohem Niveau verfügbar, wie C, C plus
plus und Java. Aber wenn Sie mit
dem Programmieren noch nicht vertraut sind, ist
Python ein
guter Anfang. Sehen wir uns einige Gründe an,
warum man Python lernen sollte. Erstens ist Python
einfacher als andere Programmiersprachen
und ideal für Anfänger. Die meisten Programme benötigen
im Vergleich zu anderen Sprachen
erheblich weniger
Codezeilen , um dieselbe Aufgabe auszuführen . Zweitens ist Python eine
effiziente Sprache. Python-Syntax hilft
Ihnen dabei,
sauberen Code zu schreiben , der leicht zu lesen, zu debuggen und einfach zu erweitern
und darauf aufzubauen Drittens hat Python ein
breites Anwendungsspektrum. Sie können Spiele
entwickeln, Webanwendungen erstellen und Geschäftsprobleme lösen. Python wird auch in
wissenschaftlichen Bereichen häufig
für akademische Forschung eingesetzt . Viertens verfügt Python über
eine große Anzahl von Tools von Drittanbietern wie
Pinstaller, mit denen wir
unseren Python-Code in
eigenständige ausführbare
Programme für
Betriebssysteme wie
Windows und macOS verpacken können unseren Python-Code in
eigenständige ausführbare
Programme für
Betriebssysteme wie
Windows und macOS verpacken eigenständige ausführbare
Programme für Betriebssysteme wie
Windows und macOS Fünftens hat Python eine
großartige Community. Eine unterstützende Community ist entscheidend für die Lösung von Problemen, insbesondere bei Ihren ersten
Programmierschritten. Dies sind die fünf
wichtigsten Gründe warum wir Python wählen und lernen. Wenn ich dich überzeugt habe, ist es Zeit anzufangen.
Danke fürs Zuschauen.
3. Fünf (5) Anfänger-Tipps für die Einführung Python-Programmierung: Willkommen zurück alle. In diesem Video gebe ich Ihnen fünf Anfängertipps zum
Erlernen der Python-Programmierung. Sie werden sich ansehen,
wie Sie jeden Tag programmieren können, wie das Ausschreiben
helfen kann, interaktiv zu werden, Pausen zu
sprechen und gute
Fragen zu stellen. Beginnen wir damit, uns jeden Tag die Programmierung anzusehen
. Wenig ist oft besser
als ein großer Brocken pro Woche. Wenn Sie nur eine
Stunde pro Woche hätten, verzweifeln, wären
Sie viel besser dran, zehn Minuten an
sechs Tagen der Woche zu
verbringen und einen
freien Tag zu haben , als eine Stunde an
einem Tag der Woche zu verbringen und sechs Tage frei
zu haben. eine lange Zeit verlassen, bevor Sie neue Fertigkeit
üben,
kann bedeuten, dass sie Sie
verloren geht und Sie
am Ende
immer wieder denselben Boden
wiedererlangen müssen . Während es
Ihnen hilft, es jeden Tag
für eine Woche zu decken , es
viel besser zu halten , und dann sind längere Lücken danach kein
so großes Problem. Auch realistisch in
Bezug auf die Zeit, die Sie dafür
haben, ist
jeder anders. Manche Leute können viel
Zeit aufwenden und wir können
mehr Fortschritte machen als jemand, der nur
ein oder zwei Stunden Zeit hat , die eine Woche übrig hat. also realistisch sind, denken Sie daran, dass es nicht darum geht sich mit anderen Menschen
zu vergleichen. Es geht darum, dich mit dem
zu vergleichen, wo du angefangen hast. Beginnen Sie damit, kleine Probleme zu lösen wenn Sie mit der Programmierung beginnen, dann erwerben Sie
Fähigkeiten und lernen neue Bereiche von Python kennen, die
Sie zuvor nicht kannten. Und es kann Ihnen großes
Vertrauen geben, schwierigere
Probleme weiter unten
angehen zu können . Schreib es aus. Das Ausschreiben von Notizen
hilft Ihnen,
Informationen besser aufzubewahren als jede andere Methode. Ja, handschriftliche Notizen helfen
wirklich, wenn die Informationen Sie
passieren, während Sie sie
gelesen haben , und sie dann in Ihren eigenen Worten umschreiben
, Ihr Gehirn nimmt sie in einer
Methode auf, die Sie verstehen, und das ist der
wichtigste Teil des Lernens. Es wird verschiedene Bereiche geben
, auf die Sie sich
konzentrieren und sich Notizen
machen müssen, verglichen mit
jemandem neben Ihnen. Auch die Planung von Programmen mit schriftlichen Notizen kann dazu beitragen
, die Lösung klarer zu machen. Auch hier habe ich festgestellt, dass es viel hilfreicher
und
unmittelbarer
ist, Dinge von Hand zu
schreiben viel hilfreicher
und
unmittelbarer
ist , als
es auf einem Computer zu tun. Für die komplizierten,
größeren Probleme, die
viel Dokumentation benötigen würden. Sie möchten dies online mit
einer Methode
tun , die später
aktualisiert werden kann. Wenn Sie dies anfänglich
planen, das Ausschreiben der Art von Daten und Variablen,
die Sie benötigen,
sehr wichtig
und lehrreich sein . Es ist oft einfacher,
visuelle Darstellungen zu erstellen , wenn Sie
mit Papier und Bleistift arbeiten . Und für viele Probleme ist
dies eine nützliche Möglichkeit, sich ihnen
zu nähern. Gehe interaktiv. Die Python-Shell
ist eine großartige Möglichkeit,
Code sofort zu untersuchen und zu erstellen. Es ist schnell und einfach, Code in der Python-Shell zu
entwickeln, aber Sie können
ihn auch verwenden, um die Methoden zu
entdecken und zu erforschen, die Ihnen zur Verfügung
stehen. Öffnen Sie die Python-Shell, und jetzt können Sie
dies in Aktion verwenden. Machen Sie Pausen. Pausen einlegen als unglaublich
wichtiger Teil des Lernens. Eine der am häufigsten untersuchten Techniken, die von
Menschen
verwendet werden, die im Internet lernen ist die Pomodoro-Technik. Jetzt ist dies eigentlich
nur nach
dem Tomatenform-Timer benannt ,
den die Person, die ihn erfunden hat, benutzt hat. Es besteht jedoch darin, nur einen 25-Minuten-Timer für die
Arbeit
einzustellen und dann eine fünfminütige Pause einzulegen
und dann zu wiederholen. Es gibt viele Beweise, die veranschaulichen, dass unser Gehirn nur eine endliche Laurens
Zeit
hat und Pausen braucht. Ihr Gehirn braucht Zeit, um
Informationen aufzunehmen und braucht
auch eine Pause. Ich würde dringend vorschlagen, dass
Sie eine echte Pause einlegen. Es gibt deinem Gehirn die
Chance, sich zurückzusetzen. Und Sie werden oft feststellen
, dass Ideen
zu Ihnen kommen , wenn Sie sich
im Ruhezustand befinden. Schlaf ist auch sehr wichtig
für die Gedächtnisbildung. Viele Untersuchungen haben
gezeigt, dass ein guter Nachtschlaf
nach einem Tag des Lernens wirklich dazu beiträgt
, diese Informationen zu festigen
und in das Langzeitgedächtnis zu sperren. Ihr Gehirn wird
daran arbeiten und es wird
während dieser Pause aufgefrischt. Wenn Sie darauf zurückkommen, werden
viele die Zeit
sein, in der Sie etwas sehen, an das Sie gerade nicht gedacht
haben, und gehen Sie los. Stellen Sie gute Fragen. An vielen Stellen in Ihrer
Programmierkarriere müssen
Sie
um Hilfe bitten. Und oft kann das
in Form von
Fragen auf Websites
wie Stack Overflow kommen . Dabei ist es
wirklich wichtig, dass
Sie Fragen richtig stellen , damit
die Leute Ihnen helfen
können, ohne die Art von Tests zu
duplizieren,
die Sie bereits durchgeführt haben
, was ihnen eine gute
Idee geben kann von dem, was Sie bereits getan haben und was Sie
beabsichtigen, das Programm zu tun. Erstens, die g des Guten, geben Sie Kontext zu dem, was
Sie versuchen zu tun. Beschreiben Sie das Problem klar. Hier auf der linken Seite
sehen wir ein schlechtes Beispiel. Es heißt nur, dass ich nicht richtig
drucken kann. Während
wir auf der rechten Seite ein gutes Beispiel haben. Ich versuche, eine f-Zeichenfolge
mit Format und kombiniert mit
Variable zu verwenden mit Format und kombiniert mit , um insgesamt sechs
Ziffern und eine Dezimalstelle zu erhalten. Aber ich kann
die richtige Syntax nicht finden. Der auf der linken Seite kann alles
sein, vom Drucken auf einem Drucker bis zur Verwendung
der Print-Anweisung. Während der
rechte Punkt wirklich klar ist. Wir wissen genau wo wir sind
und was das Problem ist. Skizzieren
Sie die Dinge, die Sie bereits
getan haben , um das Problem zu beheben. Auch hier sieht man das ziemlich oft. alles auf der linken Seite versucht. Das ist nicht wirklich hilfreich. Es ist unwahrscheinlich, dass Sie tatsächlich jede Möglichkeit
ausprobiert haben. Auf der rechten Seite können Sie sehen,
dass der Benutzer
die verschiedenen
Variationen einschließlich
eines Punktformats im ungeraden Stil ausprobiert die verschiedenen
Variationen einschließlich hat, aber nichts hat für sie funktioniert. Als Nächstes geben Sie die beste Vermutung , was das Problem sein könnte. Dies hilft der Person
, die Ihnen hilft nicht nur zu wissen, was
Sie denken, sondern auch zu wissen, dass Sie selbst
etwas nachgedacht haben . Sie sind nicht nur
auf die erste Hürde gefallen und haben das Problem
für jemand anderen geworfen. Auf der linken Seite
haben wir ein schlechtes Beispiel. Keine Ahnung was los ist. Und auf der rechten Seite kann ich die
Formatierung mit
alten Formatierungen funktionieren lassen , aber ich kann nicht sehen, wo
die neue Variable in einen neuen Stil eingefügt werden soll . Dies ist klar und
prägnant und wird hoffentlich jeden
, der versucht, die Frage in die richtige
Richtung zu beantworten ,
jemanden zu finden , der wirklich gut weiß,
wie man f-Strings benutzt. D steht für Demo. Demo ist das, was passiert. Fügen Sie die
Codetraceback-Fehlermeldung oder eine Erklärung
der guten Schritte ein, die Sie auszuführen versucht haben und
die zu dem Fehler geführt haben. Auf diese Weise muss die
Person, die hilft,
nicht versuchen, das Problem
neu zu erstellen, einschließlich des gesamten
relevanten Codes, der wirklich wichtig ist. Man sieht ziemlich oft, wo Menschen helfen
können, weil
sie keine halbe Stunde
damit verbringen
wollen herauszufinden , was
jemand getan hat. Sie möchten in der Lage sein, den Code
zu kopieren, ihn selbst auszuführen, oder versuchen Sie einfach, sich den Code
anzusehen. Es wird der
richtigen Person sagen können, was los ist. Hier auf der linken Seite
das schlechte Beispiel, überhaupt
kein Code. Auf der rechten Seite. Ein gutes Beispiel. Die Variable wurde festgelegt. Sie verwenden
alte Formatierungen und es heißt, dass dies funktioniert, aber es ist keine F-Zeichenfolge. Dies sollte ziemlich schnell eine gute
Antwort liefern. Wenn Sie alle Informationen
zusammenstellen, um die
Frage an eine andere Person zu stellen, wird Ihnen
die Antwort oft zusammenstellen, um die
Frage an eine andere Person zu stellen, offensichtlich, weil Sie
alle Informationen
auf eine Weise abgeben , die
Sie zuvor noch nie gesehen neue Ideen können zu dir kommen. Infolgedessen werden Sie
möglicherweise feststellen, dass es
etwas gibt, das Sie noch nicht ausprobiert haben, oder dass es
etwas gibt , das Sie
nicht sofort versucht haben. Danke fürs Zuschauen und wir
sehen uns in der
folgenden Vorlesung.
4. EINFÜHRUNG – Herunterladen und Installieren von Python 3 (2024): Hallo zusammen und
willkommen bei der Einrichtung des Python-Bereichs. Mein Name ist Andreas und
ich werde dein Führer sein. In diesem Abschnitt erfahren
Sie, wie Python
auf drei der beliebtesten
Betriebssysteme Windows,
macOS und Ubuntu Linux herunterladen und installieren auf drei der beliebtesten
Betriebssysteme Windows, . Sie erfahren auch,
wie Sie Idle, die integrierte Entwicklungs
- und Lernumgebung von
Python, betreiben . Einrichten eines Python ist der erste Schritt, um
ein Python-Programmierer zu werden Auf vielen Betriebssystemen,
einschließlich macOS und Linux, ist
Python vorinstalliert. Die Version von Python
, die mit
Ihrem Betriebssystem geliefert wird, wird System-Python
genannt. Das System Python wird von
Ihrem Betriebssystem verwendet und
ist in der Regel veraltet. Es ist wichtig, dass Sie über
die neueste Version von
Python verfügen , damit Sie
alle Beispiele in
diesem Kurs
erfolgreich
verfolgen können erfolgreich
verfolgen . Wichtig. Versuchen Sie nicht,
das System Python zu deinstallieren. Die drei Betriebssysteme in diesem
Kurs
behandelt werden, gehören den beliebtesten
Betriebssystemen für PCs. Aber wenn Sie nur Zugriff
auf so etwas wie ein Android haben. Beginnen
wir also damit Python
auf Ihrem Computer einzurichten. Wir sehen uns in der nächsten Lektion.
5. Herunterladen und Installieren von Python 3 (Windows): In diesem Video erfahren
Sie, wie Sie Python unter Windows
einrichten. Sie erfahren, wo
Sie Python herunterladen, wie Sie Python installieren
und wie Sie die integrierte
Entwicklungs- und
Lernumgebung, auch bekannt als Idle, öffnen Entwicklungs- und
Lernumgebung . Es gibt zwei Möglichkeiten, Python unter Windows
herunterzuladen. Eine davon ist die offizielle
Python-Distribution auf der
Website python.org veröffentlicht wurde Die zweite erfolgt über
den Windows Appstore. Die Windows App
Store-Version von Python eignet sich hervorragend für Schüler
und Bildungszwecke, weist
jedoch einige Einschränkungen auf,
die die Python.org-Distribution nicht In diesem Kurs laden Sie die offizielle
Python-Distribution von python.org Ordnung. Öffnen wir zunächst Ihren bevorzugten
Internetbrowser. Navigiere dann zu python.org. Oben auf der Website, in der Hauptnavigationsleiste, befindet sich die Schaltfläche Downloads Wenn Sie mit der Maus darüber fahren,
wird eine Schaltfläche zum
Herunterladen der neuesten Version
von Python für Windows angezeigt Herunterladen der neuesten Version
von Python für Windows Zum Zeitpunkt dieser Aufnahme ist
diese Version Python 3.12 0.5 Klicken Sie auf die Schaltfläche
, um Python herunterzuladen. Wenn Python mit dem
Herunterladen fertig ist, können
Sie unten in
Ihrem Browser
auf die EXE-Datei klicken oder den
Datei-Explorer verwenden , um zum Download-Ordner
zu navigieren , um sie von dort aus zu
öffnen. Auf dem ersten Bildschirm
des Installers können
Sie sehen, dass Sie Python 3.12
0.5 oder die Version, die
Sie herunterladen,
installieren 0.5 oder die Version, die
Sie herunterladen Es gibt eine Schaltfläche Jetzt installieren , mit der
Python sowie
Idle PIP und die
Python-Dokumentation installiert werden Idle PIP und die
Python-Dokumentation Es gibt eine benutzerdefinierte
Installationsschaltfläche. Sie können den Speicherort
der Installation auswählen und verschiedene Funktionen auswählen
oder abwählen Es gibt eine Option,
den Launcher für alle Benutzer zu installieren ,
was empfohlen wird Und wir werden
in diesem Abschnitt weiter eingecheckt bleiben, ebenso wie die Option,
Python 3.12 0.5 zu Path hinzuzufügen Lassen Sie uns ein wenig
darüber sprechen, was das bedeutet. Bevor wir entscheiden, ob Sie
Python zu Path hinzufügen sollten oder nicht, lassen Sie uns darüber sprechen, was Pfad ist. Path ist eine
Umgebungsvariable unter Windows, die der Befehlszeile
mitteilt, wo nach Dateien und Ordnern gesucht werden soll. Wenn Sie nun nicht wissen, was eine Umgebungsvariable oder die Befehlszeile
ist, ist das in Ordnung. Die wichtigste Erkenntnis
ist, dass Path
dem Betriebssystem mitteilt ,
wo es nach Dingen
suchen soll , wenn Sie Befehle
ausgeben Python zu Ihrem
Pfad hinzufügen, können Sie den
Python-Befehl in einem Terminal verwenden , um Python-Programme auszuführen. Nochmals, wenn das für Sie keinen
Sinn ergibt, ist das in Ordnung. Also solltest du
Python zu Paths hinzufügen. Wenn Sie nur eine Version
von Python installiert haben, können
Sie
Python in beiden Fällen sicher zu Path hinzufügen. Wenn Sie mehrere Versionen
von Python
auf demselben Computer installieren
müssen , ist es am besten, Python nicht zu Path
hinzuzufügen. In beiden Fällen können Sie
anstelle des Python-Befehls
den Python-Launcher für
Windows verwenden , um Python-Programme auszuführen . In diesem Kurs verwenden wir die integrierte Entwicklungs
- und Lernumgebung oder Idol anstelle
des Python-Befehls In diesem Kurs wird davon ausgegangen,
dass Sie Python
zum ersten Mal installieren und wir nur eine Version von
Python
auf Ihrem Computer installiert haben . Auch wenn wir
den Python-Befehl
in diesem Kurs nicht verwenden werden , ist es hilfreich,
ihn später verfügbar zu haben. Sie werden also sehen, dass Python mit
der ausgewählten Option Python zum
Pfad hinzufügen
installiert ist. Kehren wir
zur Installation zurück. Wenn Sie Python
zum ersten Mal installieren und nur eine
Version von Python installieren möchten, wählen Sie Python 3.12 0.5 zu PAT
hinzufügen Klicken Sie dann auf Jetzt installieren. Wenn Sie Ihrem
Computer die Erlaubnis geben müssen , Änderungen an Ihrem Gerät vorzunehmen, fahren Sie fort und tun Sie dies. Dann klicken Sie auf. Auf den meisten Computern dauert die
Installation von Python nur ein paar Minuten. Sobald Python die Installation abgeschlossen hat, wird ein Bildschirm angezeigt, der besagt
, dass das Setup erfolgreich war. Dieser Bildschirm enthält Links
zum offiziellen Online-Tutorial und zur Python-Dokumentation. Fahren Sie fort und klicken Sie auf die Schaltfläche
Schließen. In Ordnung. Jetzt hast du
Python installiert, aber wie greifst du darauf zu? In diesem Kurs verwenden wir integrierte Entwicklungs
- und Lernumgebung von
Python oder Idle, um mit Python zu interagieren. Es gibt zwei Möglichkeiten, Idle zu öffnen. Eine Möglichkeit ist das Startmenü. Die andere erfolgt über
die Windows-Suchleiste. Um Idle über
das Startmenü zu öffnen, klicken Sie auf das
Startmenüsymbol und scrollen Sie dann nach unten. Oder klicken Sie auf Alle Apps, bis Sie
den Ordner Python 3.12 0.5 finden den Ordner Python 3.12 0.5 Ich habe die Windows
11-Version installiert. Innerhalb des Ordners
befindet sich eine Anwendung
namens Idle. Klicken Sie darauf, um Idle zu öffnen. Dadurch wird die Idle-Shell geöffnet. Oben im Fenster sehen
Sie, welche Version
von Python läuft,
sowie einige Informationen zu
Ihrem Betriebssystem. Unter diesen Informationen befinden sich
drei rote spitze Klammern. Diese werden als Eingabeaufforderung bezeichnet. Wann immer Sie
das sehen, bedeutet das, dass Python darauf wartet, dass Sie ihm einige Anweisungen
geben. Fahren Sie jetzt fort und schließen Sie Idle. Um Idle über die
Windows-Suchleiste zu öffnen, geben Sie
zunächst Idle
in die Suchleiste ein. Im App-Bereich siehst
du eine Option
für Idle mit der Aufschrift Python 3.12 0.5 64 bit Es könnte 32 Bit heißen,
wenn Sie
eine 32-Bit-Version von
Python für Ihr System heruntergeladen haben . Klicken Sie darauf, um
Idle zu öffnen. Da hast du es also. Jetzt wissen Sie, wo
Sie Python herunterladen, wie Sie es installieren
und wie Sie die integrierte Entwicklungs-
und Lernumgebung von
Python öffnen können. Wenn Sie wissen möchten, wie Python auf
anderen Betriebssystemen
wie macOS und Linux installiert wird, schauen
Sie sich die nächsten
beiden Lektionen dieses Kurses an.
6. Verwenden der Python Shell 2024: Hallo zusammen. Das ist Andreas, und es ist ein aufregender
Tag, da
wir unseren ersten
Befehl in Python schreiben werden. In dieser Vorlesung
lernen wir, wie Sie
das Idle-Programm verwenden , Lieferumfang unseres
Python-Interpreters Wir werden unseren Code
mit dem Idle-Programm schreiben, also starten wir es zuerst Sie können danach suchen, indem
Sie Idle in das Suchfeld eingeben. Sobald es gefunden wurde,
klicken Sie auf das Idol oder
die Python-GUI, um es zu starten Die Python-Shell
erscheint auf unserem Bildschirm. Eine Shell ist ein Programm, mit dem
Sie Anweisungen
in den Computer eingeben können , ähnlich wie das Terminal
oder
die Befehlszeile unter OSX
bzw. Windows. Wir können jeweils einen
Befehl eingeben. Die Shell wartet auf einen
Befehl und darauf, dass der Benutzer ihn
ausführt, und gibt dann
das Ergebnis der Ausführung zurück Danach wartet die Shell auf
den nächsten Befehl. Die Zeilen beginnen mit
drei Symbolen, die größer als sind. Lassen Sie uns einige Beispiele machen. Geben Sie fünf plus zehn ein, drücken Sie die Eingabetaste. Die Shell kehrt
zur Antwort 15 zurück. Geben Sie nun fünf mehr als eins ein. Sie fragen die Shell, ob
fünf größer als eins ist. Die Shell antwortet mit „Wahr“. Die Shell ist also
dafür geeignet , jeweils einen
Befehl auszuführen. Es ist ein sehr praktisches Tool
zum Senden von Python-Befehlen, insbesondere wenn wir anfangen,
mit der Sprache zu beginnen Wenn Sie jedoch
die Python-Shell verlassen und erneut eingeben, alle Befehle, die Sie
eingeben, weg. Außerdem können Sie
die Python-Shell nicht verwenden , um ein eigentliches Programm zu
erstellen, aber wenn Sie
ein ganzes Programm schreiben möchten, ist
die Antwort der Dateieditor. Um ein einfaches Programm zu programmieren, müssen
Sie den
Code in eine Textdatei schreiben und ihn mit einer Punkt-PY-Erweiterung
speichern. Diese Datei wird
als Python-Skript bezeichnet. Sie können den
Dateieditor Datei und dann über Neue Datei aufrufen. Er ähnelt einem Texteditor
und ermöglicht es Ihnen, manuelle Anweisungen einzugeben, die Datei zu
speichern und das Programm
auszuführen. Denken Sie daran, dass das
interaktive Shell-Fenster immer das Fenster mit der Aufforderung
Drei größer
als ist. Stattdessen
wird diese Aufforderung im Fenster des Dateieditors nicht angezeigt. In der nächsten Vorlesung werden
wir mehr über Ihre
Programmierumgebung
erfahren.
7. Einrichten von Python (Zusammenfassung) 2024: Herzlichen Glückwunsch. Sie haben jetzt Python
auf Ihrem Computer installiert. Lassen Sie uns kurz
alles, was Sie gelernt haben, noch einmal zusammenfassen. In diesem Abschnitt
haben Sie erfahren, wo Sie Python unter
Windows und macOS
herunterladen können. So installieren Sie Python mit den offiziellen Installationsprogrammen
unter Windows und macOS oder dem
AppdPackage-Manager unter Sie haben auch
gelernt, Idle, die integrierte Entwicklungs-
und
Lernumgebung von Python, zu öffnen integrierte Entwicklungs-
und
Lernumgebung von Python Also, wo wirst
du von hier aus hingehen? Nun, Sie sind bereit,
mit dem Programmieren in Python zu beginnen. Sie verwenden Idle, um mit Python zu
interagieren
und
Python-Programme zu schreiben und auszuführen. Aber Idle ist nicht deine einzige Option. Vielleicht möchten Sie sich mit Einrichtung eines anderen Editors befassen. Um Ihnen dabei zu helfen, werde
ich Ihnen
in der nächsten Lektion einen
alternativen Python-Editor,
VS-Code oder Visual Studio-Code zeigen . Es ist also eine großartige Alternative
zum ursprünglichen Python Idol. Ich wünsche dir alles
Gute auf deiner
Python-Reise und wir sehen uns.
8. Code-Editoren 2024: Wenn es darum geht, Python-Code
einzugeben, haben
Sie zwei Möglichkeiten. Sie können einen
Code-Editor oder eine IDE verwenden, was für integrierte
Entwicklungsumgebung steht. Eine IDE ist im Grunde
ein Code-Editor mit einigen ausgefallenen Funktionen
wie der automatischen Vervollständigung
, also während Sie Code eingeben. Diese Funktion hilft Ihnen, Ihren Code zu
vervollständigen, sodass Sie nicht
jedes Zeichen von Hand eingeben müssen. Es ist eine
produktivitätssteigernde Funktion. Es bietet Ihnen auch zusätzliche
Funktionen wie Debugging, was bedeutet, Fehler in Ihren Programmen zu finden und zu
beheben , zu
testen usw. Sowohl für Code-Editoren als auch für IDEs gibt es so viele
Optionen Die beliebtesten
Code-Editoren sind VS Code, Adam und Sublime Sie können den
Code-Editor verwenden, den Sie bevorzugen. in Bezug auf die IDEs Auch in Bezug auf die IDEs gibt es so
viele Optionen. Der beliebteste ist Pi Harm. In diesem Kurs werde ich
die offizielle
Python-Distribution oder
Idol verwenden die offizielle
Python-Distribution oder , wie wir es in
den vorherigen Lektionen besprochen haben In einigen Übungen werde
ich aber auch den VS-Code oder
Visual Studio-Code
verwenden , weil das mein Lieblings-Code-Editor ist Später im Kurs werde
ich Ihnen zeigen,
wie Sie ein Plugin oder
eine Erweiterung installieren , die
VS-Code in eine leistungsstarke IDE konvertiert. Bevor Sie also weitermachen,
gehen Sie zu
code.visualstudio.com und laden Sie die neueste
Version von VS Code herunter
9. Schreiben deines ersten Python-Programms – Einführung 2024: Hallo zusammen und
willkommen in diesem neuen Bereich. Im ersten Abschnitt
ging es darum, Python
auf Ihrem Computer zu installieren. Und jetzt, wo Sie es installiert
haben, ist
es Zeit, mit dem Codieren zu beginnen. In diesem Abschnitt schreiben Sie
Ihr erstes Python-Skript. Sie erfahren, was
passiert, wenn Sie Skripte mit einem Fehler
ausführen, und Sie werden lernen,
Variablen zu deklarieren und ihren Wert zu
überprüfen. Sie werden auch viel
darüber lernen, wie man Kommentare schreibt. Im Laufe der Zeit wirst
du auch die Unterschiede
zwischen den
sogenannten interaktiven Fenstern und
den Skriptfenstern
in Idol kennenlernen sogenannten interaktiven Fenstern und
den Skriptfenstern
in Idol Sie werden etwas über den Red
Evaluate Print Loop, REPL, erfahren. Und Sie
werden nicht nur Skripte erstellen, sondern auch lernen,
wie man sie ausführt. Sie lernen einen
sehr wichtigen Operator kennen den Zuweisungsoperator. Was sind die Regeln für die
Erstellung von Variablennamen und was wird als
gültig oder ungültig angesehen? Darüber hinaus lernen
Sie einige der Standards kennen,
die in PEP 8
beschrieben sind Es ist also an der Zeit, dass
Sie
mit dem Schreiben Ihres
ersten Python-Skripts beginnen .
10. Schreiben unseres ersten Python-Programms 2024: Okay, es ist Zeit, mit dem Schreiben
Ihres Python-Skripts zu
beginnen. Sie werden ein Programm
verwenden , das mit Ihrer
Python-Installation geliefert wird. Es heißt Idle,
was für
integrierte Entwicklung
in einer Lernumgebung steht . Es hat zwei Hauptfenster, in denen Sie einige
Zeit verbringen werden. Das erste Fenster heißt
interaktives Fenster, und ich werde es gleich vorstellen. Dann das Editorfenster, in dem Sie
Skripte
und Programme schreiben , die Sie
speichern und später ausführen werden. Sie können Code
sowohl in das interaktive Fenster
als auch in das Editorfenster eingeben . Der Unterschied zwischen
den beiden Fenstern besteht darin, wie sie Code ausführen. Ordnung. Schauen wir uns das interaktive Fenster
an. Wenn Sie Idle noch nicht geöffnet
haben, öffnen Sie es. Sie finden es in
dem Ordner, in
dem die Anwendung installiert
wurde. In meinem Fall wähle ich Python 3.12 und klicke auf die Idle App Das interaktive Fenster von Idls
enthält die Python-Shell. Sie können diesen Namen hier
oben sehen, Idle Shell. Es ist eine texturierte Benutzeroberfläche zur Interaktion mit der
Python-Sprache
verwendet wird Sie können ein bisschen
Python-Code in
das interaktive Fenster eingeben und Eingabetaste
drücken, um das Ergebnis sofort zu
sehen. Daher der Name interaktiv. Wenn das Fenster geöffnet wird, wird am Anfang derselbe
Text angezeigt. Der Text zeigt die Version von Python, die Idle
ausführt, und einige
der Befehle, mit denen Sie
Hilfe oder
Informationen zu Python abrufen können . Diese Stelle hier, das
wird als Prompt bezeichnet, und hier können
Sie Code eingeben. also direkt vor
dieser Cursor-Eingabeaufforderung fort und geben Sie eins
plus eins ein und drücken Sie dann die Eingabetaste. Und Sie können sehen, dass
es zwei ausgibt. Python wertet den Ausdruck eins plus eins
aus
und zeigt zwei an,
und dann zeigt es eine
weitere Eingabeaufforderung direkt darunter an Jedes Mal, wenn Sie Code
in einem interaktiven Fenster ausführen, eine neue Eingabeaufforderung erscheint
eine neue Eingabeaufforderung direkt
unter dem Ergebnis Wenn Sie das
interaktive Fenster verwenden, funktioniert
es wie eine Schleife und umfasst diese drei
verschiedenen Schritte. Erstens liest Python den Code
, den Sie an der
Eingabeaufforderung eingegeben haben. Das ist wieder die Sache mit den drei verschiedenen, etwas
mehr als Symbolen. Zweitens wertet es den Code aus. Drittens druckt Python
das Ergebnis und
wartet auf weitere Eingaben. Dies wird als
Red Evaluation Print Loop bezeichnet. Wir werden normalerweise als REPL abgekürzt. REPL, Python-Programmierer bezeichnen dies
normalerweise als Python-Shell, als Python-REPL oder
kurz Repel. Okay, versuchen wir
etwas Interessanteres als
nur Zahlen zu addieren Ein Übergangsritus für
jeden Programmierer
ist das Schreiben eines Programms
, das die Phrase „
Hallo, Welt“ auf dem Bildschirm druckt Hallo, Welt“ auf dem Bildschirm Geben Sie an der Eingabeaufforderung print ein, und dann können Sie hier eine
Reihe von Klammern erstellen Also öffne ich Klammern, und Sie können sehen, dass mir das hier ein paar
zusätzliche Anweisungen
gibt ,
was ziemlich nett ist Und wir werden im Laufe des Kurses alles über
dieses Zeug lernen dieses Zeug In diesem Fall werden
wir etwas Text drucken. Also wollen wir Hello World. Und wenn ich die Eingabetaste drücke, können
Sie sehen, dass Hello World
ausgegeben wird. Dieser Code, den
Sie hier eingegeben haben,
print, ist eine Funktion Eine Funktion ist Code, der
einige Aufgaben ausführt und über seinen Namen
aufgerufen werden kann Der obige Code ruft die Druckfunktion
mit dem
darin enthaltenen Hello World-Text auf oder
ruft sie auf und gibt ihn aus Die Klammern weisen Python
an, die Druckfunktion aufzurufen. Wenn ich print einfach von selbst eintippe, weiß
es nicht, wie
ich es nennen möchte Es wird mir einfach davon erzählen. Es sagt mir, dass es eine eingebaute
Funktion namens print ist. Um diese Funktion aufzurufen, muss
ich die Klammern setzen und ihr dann
etwas Wertvolles mitteilen Wie Sie sehen, fordert es
mich auf, es dort einzufügen. Und das letzte Mal haben wir
dasselbe getippt , also mache
ich es Und großartig. Diese Klammern schließen auch alles ein, was an die Funktion
gesendet wird und als
Eingabe eingegeben wird Und die Anführungszeichen
deuten darauf hin, dass Hello World in
Wirklichkeit Text ist und nicht etwas anderes, das wir vielleicht drucken
möchten In Idol können Sie
einige faszinierende
Hervorhebungen mit verschiedenen Farben
sehen einige faszinierende
Hervorhebungen mit verschiedenen Farben mit Mit dem aktuellen
Setup, das ich habe, können
Sie sehen, dass sich eine Funktion von der Ausgabe
unterscheidet, und Sie können sehen, dass
etwas, das in
Anführungszeichen steht, anders
aussieht als beispielsweise diese Zahlen hier Standardmäßig
sind Funktionen lila und Text grün
hervorgehoben. Dieses interaktive Fenster ist
wirklich nützlich, um
kleine Codebeispiele auszuprobieren und die Python-Sprache zu
erkunden, aber es hat eine große Einschränkung. Sie müssen den
Code eine Zeile nach der anderen eingeben. Alternativ können Sie Python-Code in
der Textdatei
speichern und gesamten Code ausführen,
um ein ganzes Programm auszuführen. Darauf
werden wir mithilfe des Editorfensters
umsteigen . Sie schreiben Ihre
eigenen Python-Dateien mit dem Idols Editor Window. Sie können das
Editor-Fenster öffnen,
indem Sie im Menü oben im interaktiven Fenster Datei und Neue Datei im Menü oben im auswählen.
Lass mich dir das zeigen. Das interaktive
Fenster
bleibt geöffnet, wenn Sie
das Editorfenster öffnen. Es zeigt die durch den Code
generierte Ausgabe im Editorfenster an. Sie sollten also
die beiden Fenster so anordnen , dass Sie sie beide gleichzeitig
sehen können . im Editorfenster Geben Sie im Editorfenster denselben
Code ein, mit dem Sie Hello World im
interaktiven Fenster
drucken. Beachten Sie, dass Idle
Code,
der in das Editorfenster eingegeben wurde, genauso hervorhebt wie im
interaktiven Fenster. Sie müssen die Eingabeaufforderung nicht
wie im
interaktiven Fenster hinzufügen nicht
wie im
interaktiven Fenster Sie ist nicht erforderlich. Bevor Sie das
Programm ausführen können, müssen Sie es speichern. Wählen Sie also Datei und
Speichern aus dem Menü und
speichern Sie die Datei unter dem Namen Helloworld Dot PY Auf einigen Systemen wird
ein Standardverzeichnis verwendet, in dem
Python installiert ist Derselbe Ort wie Idle. Stellen Sie sicher, dass Sie
Ihre Dateien nicht in diesem Verzeichnis speichern . Speichern Sie sie stattdessen
auf Ihrem Desktop oder in einem Ordner im Home-Verzeichnis Ihres
Benutzers. Ich habe auf meinem Desktop einen Ordner namens
Python erstellt und werde die Datei dort
speichern. Die Punkterweiterung PY gibt an, dass die Datei Python-Code
enthält. Tatsächlich wird
beim Speichern Ihrer Datei mit einer anderen Erweiterung die
Codehervorhebung entfernt. IDL hebt
Python-Code nur hervor , wenn er in einer Punkt-PY-Datei
gespeichert ist Um das Programm auszuführen, können
Sie im
Pulldown-Menü die Option
Ausführen auswählen und das Modul ausführen Möglicherweise stellen Sie auch fest, dass einige
der Tastenbefehle hier
hervorgehoben sind. In diesem Fall ist es die
Funktionstaste fünf. Das Programm wird also im
interaktiven Fenster
ausgegeben. Sie werden den Neustart und
dann das Verzeichnis und
den gleichen Namen der Datei sehen den gleichen Namen der Datei , die ausgeführt
und ausgegeben wird. Idle startet den
Python-Interpreter jedes Mal neu. Dabei es sich um das
Computerprogramm, das Ihren
Code
tatsächlich ausführt, wenn Sie eine Datei ausführen Dadurch wird sichergestellt, dass die Programme jedes Mal
auf dieselbe Weise ausgeführt werden auf dieselbe Weise ausgeführt Wenn Sie eine Datei öffnen möchten, können
Sie zu Datei und Öffnen gehen. Und in meinem Fall öffne ich erneut
die Datei, die wir gerade in meinem Python-Ordner
und helloworld dot py gespeichert meinem Python-Ordner
und helloworld Sie können eine Datei auch über den
Dateimanager
wie den Windows Explorer oder den Mac OS Finder öffnen, wie den Windows Explorer oder indem Sie mit
der rechten Maustaste darauf klicken
und „Öffnen mit“ sagen Ordnung. Du hast
dein erstes Programm gemacht. Als Nächstes ist es an der Zeit, einige Fehler zu
machen.
11. Lass uns einige Fehler machen 2024: Okay, es ist Zeit, ein paar Fehler zu
machen. Es ist wirklich schwierig, beim Programmieren keine Fehler zu
machen. Und falls du es noch nicht so weit
geschafft
hast, werde
ich weitermachen und dich üben lassen, ein
paar davon zu machen , nur um eine
Vorstellung davon zu bekommen, was passiert. Der erste Typ, der bei Ihnen
auftreten wird , wird
als Syntaxfehler bezeichnet. Und der Syntaxfehler
tritt auf, wenn Sie Code
schreiben, der
in der Python-Sprache nicht zulässig ist. Die Sprache versteht nicht,
was Sie versuchen zu tun. Ich
werde Sie bitten,
einen Fehler in dem Code zu erstellen , den
Sie bereits geschrieben haben. Es ist Übung
, diesen Syntaxfehler zu erzeugen. Ich möchte, dass du
deine Hello Underscorworld
Dot Py-Datei erneut öffnest deine Hello Underscorworld
Dot Und am Ende
entfernen
Sie das zweite
Anführungszeichen entfernen
Sie das zweite
Anführungszeichen Es beginnt also mit einem
Anführungszeichen und dann Hallo Welt, aber es gibt dort keins, das das Zitat
schließt. Wenn Sie das speichern und dann die Taste F 5
ausführen oder drücken, erhalten
Sie
hier etwas Neues, bei dem es heißt , dass in Zeile eins ein
unbestimmtes Zeichenkettenliteral
erkannt wurde Je nachdem, welche Version
von Python Sie haben, kann sich
diese Meldung ändern. Python 3.12 hat
viele weitere explizite
Erklärungen von Fehlern hinzugefügt , was wirklich nett ist Und du wirst
im Laufe des Kurses noch mehr davon sehen , wenn wir
weitermachen Aber was Sie
in einer früheren Version
davon sehen könnten , ist eine Aussage
, die EOL sagt, und EOL steht für End of Line In diesem Fall wurde sie neu formatiert und sagt
etwas Was ist also ein String-Literal? Nun, ein String-Literal haben
Sie hier erstellt. In diesem Fall
haben Sie es jedoch nicht geschlossen oder mit dem
zusätzlichen Anführungszeichen
beendet Um ein Zeichenkettenliteral zu erstellen, müssen
Sie
den gewünschten Text in beide Anführungszeichen
einschließen gewünschten Text in beide Anführungszeichen
einschließen Es kann entweder ein
doppeltes Anführungszeichen oder ein einfaches Anführungszeichen sein, und Sie werden in
einem kommenden Kurs
über Zeichenketten viel
Zeit damit verbringen einem kommenden Kurs
über Um diesen Syntaxfehler zu beheben, müssten
Sie den
anderen Teil hinzufügen und speichern. Und dann kann es
ausgeführt und ausgedruckt werden. Das wird also
als Syntaxfehler angesehen. Die andere Art von Fehler
, die bei der
Programmierung auftreten werden , wird
als Laufzeitfehler bezeichnet. Idle fängt Syntaxfehler bevor das Programm
überhaupt gestartet wird Im Gegensatz dazu treten Laufzeitfehler nur auf, während ein
Programm läuft Wenn ein Fehler auftritt, beendet
Python
die Ausführung des Programms und
zeigt dann mehrere Textzeilen
an, die
als Trace-Back bezeichnet werden , und es werden eine Reihe nützlicher Informationen
über den Fehler angezeigt. Das
Interessante daran ist,
dass es am besten ist, sie
von unten nach oben zu lesen. Ich lasse Sie
zurück in Ihre Datei gehen ,
und dieses Mal werden
Sie
einen Laufzeitfehler erzeugen, und dann können Sie den
Unterschied zwischen den beiden erkennen. Um einen
Laufzeitfehler zu erzeugen, versuchen Sie es stattdessen wie folgt. Entfernen Sie beide Anführungszeichen. Haben Sie bemerkt, dass sich die
Textfarbe
zu Schwarz ändert , wenn Sie
die Anführungszeichen entfernen? Idle erkennt
Hello World nicht mehr als Text. Was
hier also passieren wird, ist, dass dies ein gültiger Code ist. Es versteht seine Syntax, aber es
wird etwas anderes passieren. Mach weiter und speichere das, und wenn du es ausführst, wirst
du sehen, dass das passiert. Das wird also
als Laufzeitfehler bezeichnet. Und nochmal, um
den Trace zurückzulesen, diese Sache passiert hier. Es ist am besten, es
von unten nach oben zu lesen. Es heißt also sofort, das ist ein Namensfehler. Es gibt einen Namen
oder etwas, von dem
Sie fordern
, dass es gedruckt wird. Es heißt Hello
und ist nicht definiert. Es weiß nicht, weißt du, was Hallo ist oder worauf
es sich bezieht. Es ist gültig, soweit es
die Syntax angeht, die Art und Weise, wie es geschrieben ist,
aber Hallo existiert nicht Es wurde also noch nicht definiert. Und das werden
Sie in
der nächsten Lektion tun, nämlich zu lernen,
wie man Variablen definiert. Und wenn es so weitergehen würde, hätte
es tatsächlich
dasselbe Problem mit der Welt. Auch hier können Sie
von unten nach oben lesen. Es ist also ein Namensfehler. Der Name Hello ist nicht definiert, und dann zeigt es Ihnen die
Aussage, in der das passiert. Und dann geht es hier tatsächlich etwas
weiter oben. Das ist die Datei, aus der
es liest. Manchmal
haben Python-Projekte mehrere Dateien, und der Trace-Back kann
zu einer anderen Datei führen. In diesem Fall heißt es also, Okay, wo Sie das
im Namen der Datei gespeichert haben,
und das sagt
Ihnen tatsächlich, um welche Zeile es sich handelt. Auch hier werden Sie keine so einfachen
Programme
haben. Dieser ist nur eine
einzige Zeile. Es ist also ziemlich einfach
, wo das Problem liegt. Aber so funktioniert Traceback, und Sie können sie im Laufe der Zeit
viel mehr üben . Verstehen Sie also den
Unterschied zwischen einem Laufzeitfehler und
einem Syntaxfehler Großartig. Im Falle
eines Syntaxfehlers können Sie
ihn nicht einmal ausführen,
da er nicht
wie ein normaler Python-Code aussieht. Es folgt nicht
der richtigen Syntax. In diesem Fall handelt es sich um
einen völlig anderen Fehler, einen völlig anderen Fehler bei dem alles
durchgelesen wurde, aber als es ausgeführt wurde, konnte
es nicht feststellen,
dass Hello irgendwo definiert war. Okay, es ist Zeit, selbst ein
bisschen zu üben. als kleine Übersicht, ein Programm zu schreiben, Versuchen Sie als kleine Übersicht, ein Programm zu schreiben, das in Idle nicht ausgeführt werden kann, weil es einen Syntaxfehler
hat. Schreiben Sie dann ein anderes
Programm, das nur abstürzt, wenn es läuft, weil
es einen Laufzeitfehler hat. Sie finden die
Lösungsdatei in dieser Lektion in
Ihren Ressourcen. Okay. Als Nächstes
lernst du alles über das
Erstellen von Variablen.
12. Erstellen einer Variablen 2024: Nachdem Sie sich in der letzten Lektion
kurz mit Variablen befasst haben , ist
es an der Zeit, sich
eingehender mit ihnen zu befassen. In Python-Variablen oder -Namen kann
ihm ein
Wert zugewiesen und dann später im gesamten Code verwendet werden , um
darauf zu verweisen. Und das ist die wirklich
entscheidende Idee
einer Variablen, dass Sie ihr einen Wert
zuweisen und ihr einen Wert geben können. Aber wenn Sie später im Programm
auf
diesen Wert verweisen
möchten , können
Sie den Namen
der Variablen aufrufen und ihn
erneut verwenden oder ihr möglicherweise einen anderen Wert geben
. Variablen sind für die Programmierung von
grundlegender Bedeutung, und dafür gibt es zwei Hauptgründe. Erstens bleiben die Werte
, die Sie in Ihr
Programm aufnehmen
möchten , zugänglich. Sie können beispielsweise das Ergebnis einer
zeitaufwändigen
Operation oder eines Ausdrucks
einer Variablen
zuweisen zeitaufwändigen
Operation oder eines Ausdrucks , sodass
Ihr Programm die Operation nicht jedes
Mal
ausführt , wenn Sie das Ergebnis verwenden müssen. Es kann einfach
direkt aus der Variablen auf den Wert zugreifen. Der andere Grund ist, dass
Variablen Ihnen Kontext geben können. Wenn Sie die Zahl 20 haben,
kann das
verschiedene Dinge bedeuten. Es könnte die Anzahl
der Schüler im Unterricht bedeuten. Es könnte die Häufigkeit sein
, mit der jemand auf
eine Website zugegriffen hat oder
irgendwohin gegangen ist und so weiter. Wenn Sie dem Wert 20
einen Namen wie eine Anzahl
von Schülern geben , wird die
Bedeutung dieses Werts deutlich. In dieser Lektion
lernen Sie, wie Sie Variablen in
Ihrem Code verwenden und welche Regeln und
Stilrichtlinien dahinter stehen. Um dorthin zu gelangen, müssen
Sie jedoch etwas
über den
sogenannten Zuweisungsoperator lernen, um eine Variable zu erstellen müssen
Sie jedoch etwas
über den
sogenannten Zuweisungsoperator lernen, um . Fangen wir also mit dem
zweiten Wortoperator an. Ein Operator ist ein Symbol
wie Plus oder Minus , das eine Operation mit
einem oder mehreren Werten ausführt. Sie haben zuvor eins
von zwei plus zwei verwendet, und in diesem Fall führt es eine
Addition durch. Wenn es zwei minus zwei wäre, würde
es eine Subtraktion durchführen Bei der Zuweisung werden
Variablennamen
Werte mithilfe
eines speziellen Symbols zugewiesen, werden
Variablennamen
Werte mithilfe
eines speziellen Symbols zugewiesen der als Zuweisungsoperator bezeichnet wird handelt es
sich um ein einzelnes Gleichheitszeichen Und das kann ein
wenig verwirrend sein. Sie werden
mehr darüber erfahren, wie dieser Zuweisungsoperator
funktioniert und warum nicht unbedingt zwei Dinge
miteinander vergleicht und sagt, dass sie einander
gleich sind. Es gibt tatsächlich
den Wert und weist ihn dem Namen dieser
Variablen zu Der Operator nimmt den Wert
, der sich auf der rechten Seite
des Operators befindet, und weist
ihn dem Namen auf der linken Seite zu Lassen Sie mich das
im interaktiven Fenster ansehen. Geben Sie das ein. Wenn Sie eine Variable erstellen
wollen, lautet
ihr Name Salutation Um ihr einen Wert zuzuweisen, verwenden
Sie das Gleichheitszeichen,
den Zuweisungsoperator Sie
geben ihm das
String-Literal von Hello World Wenn Sie print eingeben würden, wählen Sie als Wert, den Variablennamen salutation zu verwenden Sie würden dieselbe Ausgabe erhalten,
als ob Sie das Literal
selbst „Hello World“ ausgeben würden Literal
selbst „Hello World“ ausgeben Wenn Sie nun
salutation alleine eingeben würden, würden
Sie sehen, dass es dem
String-Literal
hello world zugewiesen
würde dem
String-Literal
hello world zugewiesen Was wäre, wenn Sie beim Drucken
einen Tippfehler machen und die Anrede in Großbuchstaben wählen
würden Das ist wieder ein gültiger Code. Es zeigt, dass dies in
Bezug auf
die Syntax funktioniert. Aber wenn ich die Eingabetaste drücke, können
Sie sehen, dass ich einen
Laufzeitfehler oder einen Namensfehler habe. Die Namensanrede
ist nicht definiert. Und das ist wiederum
ein Vorteil von
Python, da es Ihnen
tatsächlich
eine etwas bessere Vorstellung vom Kontext des
Geschehens gibt. Und es heißt: Meinten Sie Anrede
? Weil es hier eine
Variable namens Anrede gibt, was wirklich nett ist Das ist ein Update. Möglicherweise sehen Sie dies in
einer früheren Version
von Python nicht . Oh ja. Der Fall, den Sie in
einem Variablennamen verwenden , ist wichtig, und sie sind
völlig unterschiedlich. Sie haben vielleicht in
anderen Programmierkontexten gelernt , dass Groß-/Kleinschreibung vielleicht
keine Rolle spielt, aber im Fall von
Python schon Jetzt gibt es Regeln für gültige Variablen und
Namen in Python. Nochmals, um Dinge
wie Syntaxfehler zu vermeiden. Variablennamen können Groß- und
Kleinbuchstaben enthalten und
Kleinbuchstaben Alle davon sind in Ordnung. Es kann Ziffern enthalten. Es kann Unterstriche enthalten. Und der einzige Trick
ist jedoch, dass es nicht mit einer Zahl
beginnen
kann, nicht mit einer Ziffer beginnen Lassen Sie mich Ihnen ein
paar Beispiele geben. Ein gültiger Python-Name
könnte also eine Zeichenfolge eins oder ein Unterstrich A eins S vier oder eine Liste mit
Unterstrichen von Städten Einige der Dinge
, die nicht gültig
wären, würden mit einer Zahl
beginnen Also fünf Kabel oder 65 Touren. Also behalte das einfach im Hinterkopf. Sie können nicht mit einer Zahl beginnen, Sie
können mit einer Ziffer beginnen. Okay? Großartig. Zusätzlich zu den alphabetischen
Zeichen, über die wir gerade gesprochen haben, und den
Ziffern im Unterstrich können
Python-Variablennamen Unicode-Zeichen
enthalten Unicode
ist, falls Sie damit
nicht vertraut sind, ein Standard für
die digitale Darstellung von Zeichen, und sie werden in den meisten Schriftsystemen
der Welt verwendet Lassen Sie mich Ihnen ein paar
Beispiele für Dinge geben , die
Sie vielleicht gesehen haben. Also verzierte Buchstaben auf
Französisch, Spanisch oder Deutsch, wo man E mit einem Akzent drauf hat
oder mit einem Umlat, weißt
du, verschiedene Dinge
, die dekoriert sind Sie können diese
Zeichen in chinesischen,
japanischen oder arabischen Symbolen verwenden , aber nicht jedes
System, auf dem Sie
Ihren Code ausführen , kann
diese Zeichen anzeigen Es ist also etwas
, mit dem Sie vorsichtig sein sollten, und es funktioniert möglicherweise besser,
die zu verwenden , die wir
etwas früher angegeben haben. einem viel späteren Abschnitt werden Sie viel mehr über
Unicode erfahren In
einem viel späteren Abschnitt werden Sie viel mehr über
Unicode erfahren, aber ich werde auch
einige Ressourcen hinzufügen, wenn Sie weitermachen
möchten. Es ist schwierig, einen guten Namen für
eine Variable zu wählen. Es gibt ein paar Memes , die zeigen, dass jemand wirklich intensiv
darüber nachdenkt, wie komme ich auf einen Namen Und es gibt einige Richtlinien , die Sie vielleicht befolgen möchten Die erste, die
ich
mit Ihnen teilen möchte, ist, dass es viel
besser sein kann, die Dinge
beschreibend zu halten viel
besser sein kann, die Dinge
beschreibend , als
sie sehr kurz zu halten einer Variablen namens S ist es ziemlich schwierig, Ihre Absicht mit
dieser Variablen zu ermitteln , besonders wenn es sich um
Sekunden handelt Das könnte viel
nützlicher sein oder sogar noch expliziter und aussagekräftiger
wären Sekunden pro Stunde Das mag Ihnen so vorkommen,
als ob Sie viel tippen würden. Sie werden lernen
, dass es viele
Tools gibt, wenn Sie mit einem Editor
arbeiten Ihnen helfen können
, die Namen
der Dinge zu vervollständigen , sodass Sie sich nicht viele
Gedanken darüber machen müssen , die
Dinge sehr knapp und kurz zu halten. Es kann
für Sie in Zukunft viel nützlicher sein,
einen aussagekräftigen Namen zu haben als
nur einen einfachen Kurznamen Die gute Faustregel
ist,
den Variablennamen vielleicht auf maximal drei
oder vier Wörter zu beschränken den Variablennamen vielleicht auf maximal drei
oder vier Wörter zu Ordnung. Also habe ich gesagt, du könntest Klein-
oder Großbuchstaben verwenden Nun, wo solltest du sie verwenden? Die Hülle, die Sie verwenden sollten kann je nachdem, was
Sie tun möchten, variieren, aber es gibt einige Richtlinien. Lassen Sie uns über verschiedene
Möglichkeiten sprechen, wie dies getan werden kann. Ein Begriff, der
verwendet wird, ist Groß- und Kleinschreibung , bei
dem Sie
beispielsweise mit Kleinbuchstaben beginnen und dann jedes
einzelne Wort, das Sie innerhalb
dieses Variablennamens hinzufügen, für
den ersten Buchstaben in Großbuchstaben Also hier sind einige Beispiele. Eine Reihe von
Studenten könnten also Studenten mit
Num Capital sein oder eine Liste von
Hauptstädten und so weiter. Also das nennt man gemischte Fälle. Die andere Möglichkeit, dies zu tun,
besteht darin, Unterstriche zu verwenden
, alles
klein zu schreiben und dann zwischen jedem dieser Unterstriche einen Unterstrich zu
verwenden Dies wird auch als
Schlangenfall bezeichnet. So
würden diese Variablen in
Schlangenbuchstaben oder
Kleinbuchstaben mit Unterstrichen aussehen Schlangenbuchstaben oder
Kleinbuchstaben mit Unterstrichen In Python ist es üblicher, Variablennamen
in diesem Stil zu schreiben. Es ist nicht verboten, Groß- und Kleinschreibung
zu verwenden, aber es entspricht in der Regel
eher dem
Python-Stil , dies im Allgemeinen zu
tun. Tatsächlich gibt es ein
ganzes Thema zu diesem Thema, das als PEP 8 bezeichnet wird PEP 8 gilt weithin als offizieller Styleguide
für
das Schreiben von Python, wie Dinge benannt werden, wie Dinge formatiert werden
sollten,
wie Dinge aussehen sollten Und du kannst
noch viel mehr darüber erfahren, wenn du dir diese Website, pepight.org,
ansiehst diese Website, pepight.org,
ansiehst Jemand hat
diese Seite erstellt, um Ihnen auf ansprechende Weise einen Überblick über alle Funktionen Es gibt mehr Informationen. Ich werde einen Link
in die Beschreibung aufnehmen. Wenn Sie die skizzierten Standards einhalten und PEP 8 sicherstellen, dass Ihr Python-Code für die meisten
Python-Programmierer
lesbar ist Python-Code für die meisten
Python-Programmierer
lesbar und PEP 8 sicherstellen, dass
Ihr Python-Code für die meisten
Python-Programmierer
lesbar ist und im Stil anderer
Python-Benutzer aussieht Der Name PEP steht für Python
Enhancement Protocol Ein PEP ist ein Entwurfsdokument. Es wird von der
Python-Community verwendet, um neue Funktionen oder
Änderungen an der Sprache
vorzuschlagen. Wenn Sie mit Variablen arbeiten, ist
es schön, die Werte überprüfen
zu können, und das können Sie
im interaktiven Fenster tun. Um den Wert zu überprüfen, den eine
Variable gerade enthält, können
Sie den
Namen der Variablen
selbst an der Eingabeaufforderung eingeben. Wenn Sie den Namen
an der Eingabeaufforderung selbst eingeben, wird oft etwas
anderes
angezeigt als bei
der Verwendung von Drucken. Sie können auch herausfinden,
um welchen
Variablentyp es sich handelt, indem den Namen der
Variablen in das Feld Typ eingeben. Lassen Sie mich Ihnen zeigen
, wie die aussehen. Nehmen wir an, Sie haben
eine Variable von
X erstellt und X wird der Wert Zwei
zugewiesen. Wenn ich X eintippe und
die Variable überprüfe, können
Sie sehen, dass ihr Wert zwei ist. Und wenn ich drucken würde, erhalte
ich dieselbe Ausgabe. Nun, es könnte etwas
anders aussehen, wenn ich sagen würde, weisen Sie Y dem Wert
von String-Literal zwei zu Das ist also Text statt eines
tatsächlichen numerischen Werts. Wenn ich also Y eintippe, werden
Sie feststellen, dass
etwas anderes
ausgegeben wird, als
wenn ich es drucken würde. Das kann also
etwas verwirrend sein. Und was Sie lernen werden, ist, dass
dies verschiedene Typen sind und dass sie innerhalb von Python
unterschiedlich interpretiert werden. Und das ist ein großes Thema
, mit dem Sie sich in viel
späteren Abschnitten
befassen werden. Eine Sache, die Sie überprüfen können,
ist, dass Sie Typ sagen können. Sie können hier sehen, dass es nach dem Objekt oder Namen
fragt und dann zurückkehrt. Das ist es, was der Pfeil
auf den Typ des Objekts hinweist. Und das ist nur eine Vorschau. Also probiere es mit X
aus steht, dass es sich um
eine Integer-Klasse handelt. Nun, im Gegensatz zum Typ von Y. Y
ist die Klasse einer Zeichenfolge, und sie werden
unterschiedlich dargestellt, wenn Sie einfach den
Namen der Variablen eingeben Und denken Sie daran, dass eine solche
Variableninspektion nur in
diesem interaktiven Fenster
innerhalb einer REPL funktioniert diesem interaktiven Fenster
innerhalb einer REPL Versuchen Sie beispielsweise,
das folgende Programm
vom Editorfenster aus auszuführen das folgende Programm
vom Editorfenster aus Nehmen
wir an, wir beginnen mit der Definition von Anrede und
es heißt, sie entspricht Hello World Und dann geben Sie in der nächsten Zeile
einfach Salutation ein. Was wird ausgegeben,
wenn Sie dieses Programm ausführen? Wie Sie sehen können, als es ausgeführt wurde, hat
es nichts ausgegeben. Diese Art der Überprüfung einer Variablen funktioniert nur hier
im interaktiven Fenster. Als Überblick finden Sie hier ein paar
Übungen, die Sie
im interaktiven Fenster durchführen können. Zeigen Sie Text mithilfe der Druckfunktion an. Sie dann mithilfe des
interaktiven Fensters Weisen Sie dann mithilfe des
interaktiven Fensters einer Variablen ein
String-Literal zu Drucken Sie dann den Inhalt
der Variablen mit
der Druckfunktion aus Wiederholen Sie diese ersten beiden Übungen indem Sie das Editor-Fenster
jetzt mit einer Datei verwenden. Sie finden die
Lösungsdatei in der Lektion in Ihren
Ressourcen. In Ordnung. Als Nächstes, wie kannst
du dir
Notizen in deinem Code hinterlassen ?
Danke fürs Zuschauen.
13. Kommentare hinzufügen 2024: In dieser Lektion lernen
Sie,
wie Sie sich selbst
hilfreiche Notizen hinterlassen können. Sie werden Kommentare genannt. Programmierer
lesen manchmal Code, den sie vor einiger Zeit
geschrieben haben , und
fragen sich, was das macht? Wenn Sie sich einen Code eine Weile nicht angesehen
haben, kann
es schwierig sein, sich daran zu erinnern warum Sie ihn
so geschrieben haben, wie Sie es getan haben Um dieses Problem zu vermeiden, können
Sie Kommentare
in Ihrem Code hinterlassen. Kommentare sind Textzeilen, die keinen Einfluss auf die Art und Weise haben
, wie das Programm ausgeführt wird. Sie dokumentieren, was der
Code macht und warum Sie, der Programmierer,
bestimmte Entscheidungen getroffen haben Lassen Sie uns eine vorherige Datei öffnen, Hallo Welt, und
lassen Sie uns den Code bearbeiten Alles endete in der ersten
Zeile des Codes. Anrede ist gleichbedeutend
mit Hallo Welt. Anrede drucken. Um einen Kommentar zu beginnen,
verwenden Sie das Hash-Symbol, das manchmal auch als Zahlenzeichen bezeichnet wird So
bezeichne ich es gerne. In den USA wird es manchmal auch Pfundzeichen genannt
. Das Vereinigte Königreich könnte dem nicht zustimmen. Ein technischer Name
ist Octothorp. Davon haben Sie vielleicht gehört. Fangen Sie mit dem Hash-Symbol an, und alles, was
Sie danach schreiben ,
wird ignoriert
, wenn das Programm ausgeführt wird. Wenn ich also diesen Code speichere und
dann ausführe, können
Sie sehen, dass er einfach wie gewohnt
ausgeführt wurde. Es hat nichts
daran geändert , wie dieser
spezielle Code ausgeführt wird. Es gibt zwei Möglichkeiten, wie Sie Ihren Code kommentieren
können. Der erste beginnt
mit einem Hash-Symbol einer neuen Zeile und wird als Blockkommentar
bezeichnet. Der andere Stil wird als
Inline-Kommentar bezeichnet. Es wird in
derselben Zeile mit
einem Hash-Symbol direkt
nach dem Code fortgesetzt . Sie können immer noch
das Rautenzeichen verwenden, das Hash-Symbol
innerhalb einer Zeichenfolge. Zum Beispiel wird Python das Folgende
nicht mit einer Zeichenfolge
verwechseln. Lassen Sie mich zum
interaktiven Fenster zurückkehren. Wenn ich eine
Zeichenfolge mit der Zahl Eins
drucken würde, hätte
das kein Problem. Es wird trotzdem
gedruckt, weil es
Teil einer Zeichenfolge ist. Im Allgemeinen ist es eine gute Idee, Ihre Kommentare so
kurz wie möglich zu
halten. Aber manchmal
müssen Sie mehr schreiben, als vernünftigerweise in eine einzelne Zeile passt
. In diesem Fall können Sie Ihren Kommentar in
einer neuen Zeile
fortsetzen und
ihn auch mit einem Hash-Symbol beginnen. Sie können auch Zeilen Ihres Codes
auskommentieren. Dazu platzieren Sie das
Hash-Nummernzeichen am Anfang
einer Codezeile. Es ist eine zerstörungsfreie Methode
, um das Verhalten
Ihres Programms zu testen , ohne dass es bestimmte
Codezeilen
ausführt. Und es gibt ein paar
Empfehlungen wie Sie Ihre Kommentare
formatieren sollten. Auch diese sind
laut PEP acht, Kommentare sollten immer in vollständigen Sätzen
verfasst werden Sie sollten ein
einzelnes Leerzeichen zwischen
dem Hash-Symbol und dem
ersten Wort des Kommentars Inline-Kommentar sollte
mit zwei Leerzeichen nach Ihrem Code beginnen . PEP Eight empfiehlt außerdem, Ihre Kommentare sparsam zu
verwenden Kommentare, die tatsächlich beschreiben was bereits offensichtlich ist, sind unnötig und können für viele Programmierer
ein großes Ärgernis
sein ein großes Ärgernis Kommentare werden am besten
verwendet, um
Code zu verdeutlichen , der möglicherweise
schwer zu verstehen oder um zu erklären, warum
etwas auf
bestimmte Weise codiert ist . Danke
fürs Zuschauen.
14. Interagieren mit IDLE 2024: In diesem Kurs
werden wir Sie
in viele dieser interaktiven
Programmierübungen einbeziehen . Die Idee ist, dass Sie nicht nur da sitzen und mir
beim Reden zuschauen, dass Sie tatsächlich alles, was Sie
lernen, in die Praxis umsetzen. Auf diese Weise
wird es tatsächlich dein eigenes. Diese Programmierübungen sind
großartig, weil wir Ihnen
Anweisungen geben und Ihnen zeigen können , was passieren
sollte, wenn Sie den richtigen Code
schreiben, was er tun muss und was Sie mit Ihrem Code
machen können. Außerdem können wir sehen, wie er in der Konsole
ausgeführt wird. Durch viele dieser
Übungen wirst
du in der
Lage sein, ein Übungen wirst
du in der
Lage sein, höheres Level zu erreichen und ein besserer Programmierer zu
werden Um sicherzustellen, dass Sie mit Idol interagieren
können, versuchen Sie die folgenden Schritte
auf Ihrem Computer Pausiere das Video jetzt und
schließe diese Herausforderung ab. Ordnung. Wie bist du zurechtgekommen? Ich hoffe wirklich, dass
du es gut versucht hast. Weil du
in diesen Momenten programmieren lernen wirst. Das ist natürlich
der Anfang. Nun, dies ist eine sehr einfache
Übung, mit der
sichergestellt werden soll , dass Sie
die inaktive Software in
Ihrem Programm finden , Leerlauf
starten und dann
etwas sehr Einfaches damit machen können. Geben Sie also einfach eine
gedruckte Anweisung ein. Zuerst werden wir den Leerlauf auf Ihrem System
ausfindig machen. Also klicke ich hier
, um nach Idle zu suchen. Hier ist es.
Klicken Sie alternativ auf die Stern-Schaltfläche. Suchen Sie den Python-Ordner. Und dann siehst du in dieser Gruppe ein Element
für den Leerlauf. Also klicke einfach darauf. Und das sollte das Idol auf unserem System
laufen In diesem
Python-Shell-Fenster läuft ein Idol. Hier läuft der Interpreter für den interaktiven
Modus und wir haben die Eingabeaufforderung,
die drei Größer-als-Zeichen Das ist die Aufforderung
, die darauf wartet, dass wir eine Python-Anweisung eingeben, und dann wird sie diese Anweisung
ausführen. In der Übung werden Sie also
aufgefordert, eine Print-Anweisung einzugeben. Lassen Sie uns weitermachen und das eingeben. Drucken. Und dann haben wir
eine öffnende Klammer, und dann geben wir die
Zeichen, die wir
drucken möchten , in eine Reihe
von Anführungszeichen ein Das ist ein Idol-Test. Und dann setzen wir ein
schließendes Anführungszeichen und eine schließende Klammer Jetzt drücke ich die
Eingabetaste und wir sollten das
Ergebnis dieser Anweisung sehen Wenn ich also die Eingabetaste drücke, der Python-Interpreter diese Anweisung
ausgeführt, und hier sehen wir die Ausgabe Wenn Sie also
alles richtig eingegeben haben, sollte
Ihr Bildschirm so
aussehen Möglicherweise haben Sie einen Tippfehler
gemacht. Ein häufiger Fehler
besteht beispielsweise darin, die
Anführungszeichen wegzulassen. Wenn Sie also so
etwas gemacht haben, lassen Sie mich einfach weitermachen und
diesen Fehler bewusst machen Da können Sie also sehen, dass
ich die Aussage eingegeben habe,
aber die Anführungszeichen weggelassen habe Und in diesem Fall erhalte
ich eine Fehlermeldung, die mir
mitteilt, dass ich
einen Syntaxfehler habe , eine ungültige Syntax Wenn Sie also so
etwas sagen,
schauen Sie sich an, wie die Aussage in Ihrem Lehrbuch
erscheint und stellen Sie sicher, dass Sie sie
genau so eingeben , wie sie erscheint Ein weiterer häufiger
Fehler besteht beispielsweise darin,
die richtige Anzahl von
Klammern wegzulassen die richtige Anzahl von
Klammern Also hier tippe ich die
Print-Anweisung korrekt aus, außer dass ich die schließende Klammer nicht eingegeben
habe Wenn ich jetzt die Enter-Taste drücke, werden
Sie feststellen, dass ich keine Fehlermeldung
erhalte, aber der Python-Interpreter wartet tatsächlich darauf, dass ich die Anweisung
abschließe Der Cursor geht einfach
runter zur nächsten Zeile, und jedes Mal, wenn ich die Enter-Taste
drücke, geht
es einfach runter
zur nächsten Zeile, aber
ich erhalte keine Ausgabe Es wartet darauf, dass ich
die schließende Klammer eingebe, und dann gibt es mir die Ausgabe Wenn Sie also dieses Verhalten sehen, ist das wahrscheinlich ein Hinweis darauf,
dass Sie eine Klammer
ausgelassen haben all diese Dinge werden Sie
sich gewöhnen, wenn Sie immer mehr in
der inaktiven Umgebung
arbeiten Wenn Sie jetzt mit Idol
fertig sind, können
Sie zum Menü Datei gehen
und Beenden wählen, oder Sie können einfach Strg+Q
mit einer Tastatur eingeben, es zu schließen Danke fürs Zuschauen.
15. Hilfe finden 20224: Yo. Was ist los, Leute. In diesem Vortrag werden wir uns damit
befassen, wie Sie Hilfe finden können,
wenn Sie nicht weiterkommen. Außerdem lernen Sie die
besten Webseiten und Ressourcen für
Python-Fragen und -Antworten kennen. Also lass uns anfangen. Wenn du
irgendwann
programmieren lernst , wirst du nicht weiterkommen. Das ist für Anfänger
und auch erfahrene
Programmierer absolut
normal . Wenn Sie nicht weiterkommen und bevor Sie Hilfe
von jemand anderem erhalten können, sollten
Sie zunächst Ihre Situation einschätzen. Ich meine, sich selbst zu hinterfragen
und zu hinterfragen, was Sie zu
tun versuchen und welches Ergebnis Sie erzielt
haben. Programmierprobleme zu lösen ist nicht so schwierig,
wie Sie vielleicht denken. Lassen Sie uns ein Beispiel machen.
Geben Sie A plus B und drücken Sie dann die Eingabetaste. Ein
Pfeil erscheint in roter Farbe. Python gibt einen Traceback , wenn in Ihrem Code eine Ausnahme
ausgelöst wird Ein Traceback ist ein
Bericht,
der die Funktionsaufrufe enthält , die in
Ihrem Code zu einem bestimmten Zeitpunkt ausgeführt wurden sich keine Sorgen. Ich habe einen ganzen Abschnitt, in dem
Fehler und deren Behandlung erklärt werden. Es ist nicht notwendig zu verstehen, was die
Fehlermeldung jetzt bedeutet, aber ich werde dir eine
kurze Erklärung geben. Dies ist ein Namensfehler, eine
der häufigsten Arten
von Python-Fehlern. Ein Namensfehler bedeutet
, dass Sie versucht haben, eine Variable zu verwenden, die noch nicht
existiert. Ein Namensfehler wird ausgelöst
, wenn Sie versuchen,
einen Variablen- oder
Funktionsnamen zu verwenden , der nicht gültig ist. In Python läuft der Code
von oben nach unten. Das bedeutet, dass
Sie
eine Variable nicht deklarieren können , nachdem Sie
versucht haben, sie in Ihrem Code zu verwenden. Python wüsste nicht,
was die Variable tun soll. In unserem Beispiel haben wir
keine Variablen namens A und eine
Variable
namens B deklariert . Um dieses Problem zu lösen, müssen
wir A
und B deklarieren , bevor wir
sie in unserem Code verwenden. Es gibt zwei
Hauptarten von Fehlern. Ein Syntaxfehler
bedeutet im Grunde , dass Sie einen
Interpunktionsfehler gemacht haben Dies sind die
häufigsten Fehler. Gewöhnen Sie sich daran, genau zu lesen, dass
Sie getippt haben, und es sorgfältig mit
dem zu
vergleichen , was Sie hätten tippen sollen Logikfehler treten auf, wenn
Sie falsch verstanden haben, was Sie versuchen zu tun oder worum
Sie Python gebeten haben Diese Fehler können schwer zu erkennen und schwieriger
aufzuspüren Der einfachste Weg
, Hilfe zu erhalten, besteht darin ,
die Fehlermeldung
in die Google-Suche zu
kopieren Sie sollten unzählige
Links sehen, die erklären was die Fehlermeldung
bedeutet und was sie verursacht. Sie können auch versuchen, die
Leute direkt in
einem Webformular wie
Stack Overflow zu fragen einem Webformular wie
Stack Overflow Hier ist die Webadresse. Stack Overflow ist eine
der beliebtesten Frage- und Antwortseiten für Programmierer Es ist sehr zuverlässig
, da Benutzer über die Antworten
abstimmen können , die
sie am hilfreichsten finden Die besten Antworten sind also normalerweise die ersten, die Sie finden. Eine andere Möglichkeit,
Hilfe zu finden, ist die offizielle
Python-Dokumentation. Hier ist die Webadresse. Es ist nützlich und enthält
eine Menge Dokumentation. Schließlich
ist pythontutor.com eine großartige Webseite. Es verfügt über ein Tool, mit dem Sie
Python-Programme schreiben oder einfügen und Schritt für
Schritt visualisieren können,
was der Computer
tut , während er
diese Programme ausführt
16. Schreiben deines ersten Python-Programms – Zusammenfassung: In dieser Lektion werde ich den Abschnitt
zusammenfassen und einige zusätzliche Ressourcen
zur Verfügung stellen , damit Sie weiter lernen In diesem
Abschnitt wurden Ihnen mehrere
neue Konzepte
vorgestellt Sie lernen, wie Variablen Werten
in Ihrem Code Namen
geben. Sie lernen,
den Zuweisungsoperator zu verwenden , um den Variablen Werte
zuzuweisen. Erfahren Sie mehr über Syntaxfehler
und wie sie auftreten, wenn Sie Code schreiben, der in der
Python-Sprache nicht zulässig ist. Außerdem haben Sie etwas über
Laufzeitfehler gelernt und darüber, wie sie auftreten, während ein
Programm ausgeführt wird. Bei Laufzeitfehlern erhalten
Sie außerdem eine
Rückverfolgbarkeit, die Ihnen
nützliche Informationen
über den Fehler
anzeigen kann nützliche Informationen
über den Fehler Diese Fehler sollten am besten
von unten nach oben gelesen werden. Dabei handelt es sich bei Kommentaren um Codezeilen
, die nicht ausgeführt werden und hauptsächlich der Dokumentation
dienen. Um dein Wissen zu testen, gibt es ein Quiz, das du dir für diesen Abschnitt
ansehen kannst. Herzlichen Glückwunsch zum Schreiben
Ihres ersten Programms
und ich hoffe, Sie
bald im nächsten Abschnitt zu sehen.
17. Strings und String-Methoden – EINFÜHRUNG 2024: Hallo zusammen und willkommen zu Strings und String-Methoden. Python-Programmierer haben täglich mit Text zu
tun, egal ob es darum geht, Text auf
einer Webseite oder in einer
grafischen Benutzeroberfläche anzuzeigen einer Webseite oder in einer
grafischen Benutzeroberfläche oder sogar eine Eingabe zu akzeptieren , die ein Benutzer
in Ihre Anwendung eingegeben hat Es gibt sogar
ganze Bereiche der Datenwissenschaft, die sich mit der
Extraktion
von Informationen aus Text befassen ,
beispielsweise Stimmungsanalysen beispielsweise Textsammlungen in
Python werden Zeichenketten genannt, und es gibt spezielle
Funktionen, sogenannte Zeichenkettenmethoden, die zur
Manipulation von Zeichenketten verwendet werden, z. B. das Ändern einer Zeichenfolge
von Groß
- in Kleinbuchstaben, das Entfernen von Leerzeichen oder Ersetzen von Teilen der
Zeichenfolge durch einen anderen Text In diesem Abschnitt
erfahren Sie, wie Sie Zeichenketten teilweise
mithilfe von Zeichenkettenmethoden manipulieren Sie werden mit Benutzereingaben arbeiten. Sie werden lernen, wie man mit Zahlenfolgen
umgeht und
Zahlen in Zeichenketten
umwandelt,
wie man Zeichenketten für den Druck formatiert. Und nebenbei
lernst du etwas über F-Zeichenketten mehrzeilige Zeichenketten und wie
man Zeichenketten indexiert und aufteilt. Was ist
Unveränderlichkeit von Zeichenketten und wie Sie weitere
Methoden
mit Idle selbst entdecken In Ordnung, es ist an der Zeit, sich damit zu
befassen, was eine Zeichenfolge ist.
18. Was ist ein String 2024: Hallo, alle zusammen.
Das ist Andreas, und ich möchte
Sie in dieser neuen Sektion begrüßen. In den folgenden Vorlesungen lernen
Sie die
verschiedenen Arten von Daten kennen denen Sie in
Ihren Python-Programmen arbeiten können. Wir haben viel zu tun, also
starten Sie Ihre Python-Shell und lassen Sie uns anfangen. Eine Zeichenfolge ist eine Reihe von
Zeichen, ein Text, wenn Sie es vorziehen. Alles, was in Anführungszeichen
steht, wird als Zeichenfolge betrachtet. In Python können Sie einfache oder doppelte Anführungszeichen
um Ihre Zeichenketten setzen. Wenn ich beispielsweise Python mit doppelten Anführungszeichen und
Python mit einfachen Anführungszeichen
eintippe, ist das Ergebnis nicht dasselbe. Es ist wichtig zu
verstehen, was wir tun, wenn wir
Anführungszeichen verwenden und wann nicht. Wenn ich in Anführungszeichen Verkäufe
eintippe, die 1.000 entsprechen ist
Umsatz eine Zeichenfolge, keine Zahl. Wenn ich jedoch Umsatz in Höhe
von 1.000 ohne Anführungszeichen eintippe, dann ist Umsatz eine Ganzzahl. Aber wie kann man ein
Anführungszeichen innerhalb einer Zeichenfolge verwenden? Geben Sie ein und drücken Sie die Eingabetaste. Das ist eine ungültige Syntax, wie Sie sehen, dafür gibt es
Lösungen. Eine Möglichkeit besteht darin, mit
der Zeichenfolge und doppelten
Anführungszeichen wie folgt zu beginnen . Da die Zeichenfolge
mit einem doppelten Anführungszeichen beginnt, weiß
Python, dass
einfache Anführungszeichen Teil
der Zeichenfolge sind und nicht das Ende der Zeichenfolge
markieren. Wenn Sie jedoch
sowohl einfache als auch
doppelte Anführungszeichen in der Zeichenfolge verwenden müssen , müssen
Sie
ein Escape-Zeichen
oder Escape-Sequenzen verwenden . Ein Escape-Zeichen
besteht aus einem umgekehrten Schrägstrich gefolgt von dem Zeichen , das Sie der
Zeichenfolge hinzufügen möchten Das Escape-Zeichen
für ein einfaches Anführungszeichen ist also dieses. Lassen Sie uns die
obige Zeichenfolge eingeben, indem wir
jetzt das Escape-Zeichen verwenden und doppelte Anführungszeichen
vermeiden. Ich bin großartig. Es gibt noch eine weitere Verwendung
von Escape-Zeichen, nämlich spezielle
Bedeutungen wie neue Zeilen, und wir werden sie als Nächstes in Aktion sehen. Hier wird D also mit einem Text
definiert. Dies ist Zeile eins,
gefolgt von einem umgekehrten Schrägstrich N, was bedeutet, dass wir
eine neue Lassen Sie uns jetzt weiter
tippen. Das ist Zeile zwei. Und die Zitate
sind am Ende fertig. Hier haben wir also den
umgekehrten Schrägstrich N, was eine neue Zeile bedeutet Wenn wir print D verwenden, werden
Sie sehen, dass dies Zeile eins ist, und in einer separaten Zeile ist
dies Zeile zwei Nun, das ist etwas,
das wir häufig verwenden, besonders wenn wir
mit Textdateien arbeiten, und oft werden Sie
feststellen, dass Sie eine neue Zeichenzeile
einfügen oder aus Texten entfernen müssen . Es ist auch möglich, Tabulatoren mit einem umgekehrten Schrägstrich
T zu erstellen. Hier sehen Sie also Variablen, die mit
einigen Tabulatorzeichen definiert Und noch einmal, das ausdrucken. Das sind die Tabs, die zwischen den Wörtern eingefügt
wurden . Beachten Sie unbedingt die verschiedenen
Escape-Zeichen,
die Sie in den Text einfügen
können. eine Auswahl an Escape-Zeichen wie
Backslash, einfaches Anführungszeichen,
doppelte Anführungszeichen , neue Zeile mit N,
Zeilenwechsel mit R, gibt eine Auswahl an
Escape-Zeichen wie
Backslash, einfaches Anführungszeichen,
doppelte Anführungszeichen, neue Zeile mit N,
Zeilenwechsel mit R, Tabulatortaste
mit T
und die Möglichkeit, Zeichen
mit Oktal- oder
Hexadezimalwerten zu
definieren mit Oktal- oder In Ordnung. Lass uns
über Rohsaiten sprechen. In einer Rohzeichenfolge werden
Escape-Sequenzzeichen, wie Sie sie zuvor gesehen haben,
nicht interpretiert. Wir werden sehen, wie man ein Rohzeichen
definiert. Definieren wir eine Variable namens A mit dem neuen Zeilenzeichen. Um eine Rohzeichenfolge zu erstellen, wird
einer Zeichenfolge ein R
vorangestellt, wie hier zu sehen Ansonsten
ist der Kontext genau derselbe. Ausdrucken wird die unformatierte Zeichenfolge
angezeigt,
was bedeutet, dass das neue
Zeilenzeichen nicht von print
at its left intakt
interpretiert wird . Dies ist nützlich in
Anwendungen, in denen die Escape-Sequenzzeichen nicht normal
interpretiert werden sollen, wie z. B. bei regulären Ausdrücken. Manchmal müssen Sie eine mehrzeilige Zeichenfolge
einfügen. Eine mehrzeilige Zeichenfolge
beginnt und endet
entweder mit drei einfachen
oder drei doppelten Anführungszeichen Alle Anführungszeichen, Tabulatoren oder
Nachrichtenzeilen zwischen den dreifachen Anführungszeichen werden
als Teil der Zeichenfolge betrachtet Geben wir Folgendes ein. Das Ergebnis wird auf der Shell angezeigt. Außerdem
wird häufig eine mehrzeilige Zeichenfolge für Kommentare verwendet. Großartig. Ich hoffe, du hast verstanden, was Zeichenketten sind und wie du sie
erstellen und verwenden kannst. Denken Sie daran, dass
Zeichenketten einer
der grundlegenden Datentypen in
Python sind der grundlegenden Datentypen in . Danke fürs Zuschauen.
19. Was ist eine Zeichenfolge (Übung) 2024: Willkommen zurück, alle,
zur ersten Übung
dieses Abschnitts. In unseren Übungsstunden dreht
sich alles um Training. Sie lernen,
Code zu
schreiben , indem Sie sorgfältig
ausgewählte Übungen lösen. Außerdem trainierst du, den Code
anderer Leute zu lesen und deinen
Denkprozess zu
kommunizieren. Dabei
übst du die Konzepte, die du in der vorherigen Lektion
gelernt hast ,
und hilfst dabei, dass sie Bestand haben. In den nächsten
Übungsstunden werde
ich Sie mit Aufgaben vertraut machen. Geben Sie Ihnen die Möglichkeit, sie selbst
zu lösen, und zeigen Sie Ihnen dann Schritt für Schritt,
wie ich die einzelnen Aufgaben gelöst habe. Gehen Sie für jede Aufgabe drei
Schritte durch, erfahren Sie mehr über die Übung, programmieren Sie Ihre eigene Lösung und vergleichen Sie dann
Ihre Lösung und den Prozess, der
Sie dazu geführt hat, mit meiner. Wenn ich Sie durch eine Aufgabe führe, erkläre ich, was ich
mache und warum ich es so mache. Das gibt Ihnen die
Möglichkeit,
nicht nur unsere endgültigen Lösungen zu vergleichen , sondern auch, wie wir dazu gekommen sind. Im Idealfall kann Ihnen dies dabei helfen,
Einblicke in die Prozesse zu gewinnen, die von einer Aufgabenbeschreibung zur
funktionierenden Lösung im Code führen. Okay, genug geredet. Hier ist deine erste
Übung. Was ist eine Saite? Sehr philosophische Frage,
aber wir werden sie etwas
praktischer angehen Ihre Aufgabe wird es sein
,
vier einzelne Zeichenketten zu drucken , die bestimmte Bedingungen
erfüllen Die erste besteht darin
, dass die Zeichenfolge
doppelte Anführungszeichen
enthalten sollte . Der zweite sollte
einen Apostroph in der Zeichenfolge haben einen Apostroph in der Die dritte sollte
mehrere Zeilen enthalten, wobei der
Leerraum erhalten bleiben sollte, und die vierte sollte in mehreren Zeilen codiert
sein, aber dann wird sie
nur in einer einzigen Zeile gedruckt Dies sind verschiedene
Arten, Zeichenketten zu konstruieren, und es ist nur eine Möglichkeit, sich
daran zu erinnern, wie Sie Zeichenketten erstellen
können,
die bestimmte Bedingungen erfüllen Mach weiter. Tun Sie das jetzt, und wenn Sie
mit Ihrer Lösung fertig sind, fahren Sie mit der
nächsten Lektion fort, in der ich auch die vier
Aufgaben lösen
werde, und dann können Sie sie
mit meiner Lösung vergleichen.
20. Was ist eine String-Lösung 2024: Hier bin ich in der
interaktiven Idle-Shell. Ich mache weiter und mache mir kurze
Notizen zu den verschiedenen Aufgaben, die
ich hier zu erledigen habe. Es gab vier Aufgaben. Ich mache mir zunächst einfach Notizen darüber, was
ich tun soll. Das hilft mir,
mich zu organisieren und mich erinnern, was die
Aufgabe eigentlich ist. Die erste Methode bestand also darin, eine Zeichenfolge mit
doppelten Anführungszeichen zu drucken. Also möchte ich doppelte
Anführungszeichen in der Zeichenfolge haben. Das ist die erste Aufgabe. Dann bestand die zweite darin,
einen Apostroph in der Zeichenfolge zu haben einen Apostroph in der Die dritte bestand darin, eine mehrzeilige Zeichenfolge zu
haben , die auch in mehreren Zeilen gedruckt
wird Und die vierte bestand darin, eine mehrzeilige Zeichenfolge zu
schreiben, aber in einer einzigen Zeile gedruckt Also habe ich mir nur ein paar
kurze Notizen gemacht, um mich
an die Aufgaben zu erinnern,
und ich werde loslegen. Die erste Möglichkeit besteht darin,
doppelte Anführungszeichen in der Zeichenfolge zu drucken, und das kann ich tun, indem ich einfache Anführungszeichen verwende , um die Zeichenfolge Und dann kann ich darin doppelte
Anführungszeichen verwenden. Ich öffne eine Zeichenfolge, indem ich
ein einfaches Anführungszeichen setze. Dann kann ich hier
etwas hineinschreiben. Also werde ich sagen, dass diese Zeichenfolge
doppelte Anführungszeichen enthält. Und ich habe die Wörter
doppelte Anführungszeichen mit den
tatsächlichen doppelten Anführungszeichen umgeben . Und es sollte gut gedruckt werden , weil ich
die Anführungszeichen nicht mische. Ich verwende einfache
Anführungszeichen, um meine Zeichenfolge abzugrenzen. Und dann die doppelten
Anführungszeichen darin. Sie werden nicht
als Zeichenfolgentrennzeichen betrachtet, sondern sind nur die
doppelten Anführungszeichen des Zeichens Jetzt drücke ich die Eingabetaste und mein Druckaufruf wird ausgeführt, und ich erhalte die Zeichenfolge als
Ausgabe Großartig. Der zweite, ein Apostroph in der Zeichenfolge Führen Sie einen weiteren Print-Aufruf durch, und jetzt werde ich
doppelte Anführungszeichen verwenden , um die Zeichenfolge zu trennen. Also öffne ich es mit
einem doppelten Anführungszeichen. Dann kann ich etwas schreiben. Ich werde sagen, diese Zeichenfolge
hat einen Apostroph, und ich verwende einen Apostroph
nach dem Diese Zeichenfolge hat
also einen Apostroph. Das ist keine Englischstunde, und ich wäre sowieso nicht die beste
Person, um das zu unterrichten Aber ich habe ein einfaches
Anführungszeichen oder einen Apostroph in der Zeichenfolge Und jetzt drücke ich die Eingabetaste, und das wird ausgeführt
und funktioniert einwandfrei Übung drei bestand darin,
eine mehrzeilige Zeichenfolge zu schreiben , die auch in mehreren Zeilen
gedruckt wird. Ich kann das also mit
dreifachen Anführungszeichen machen. So funktionieren beispielsweise doppelte Anführungszeichen oder doppelte Anführungszeichen oder
dreifache einfache
Anführungszeichen genauso. Und jetzt kann ich sagen, dass diese Zeichenfolge mehreren Zeilen geschrieben
wurde. Nun, noch nicht. Lass
mich die Eingabetaste drücken. Und dann fahre ich mit
der Zeichenfolge fort und sage, sie wird in
mehreren Zeilen angezeigt. Und ich muss die Zeichenfolge schließen. Also werde ich es wieder mit
dreifachen doppelten Anführungszeichen schließen . Eins, zwei, drei und dann
schließe ich auch die Klammern
aus der Druckfunktion Und jetzt bin ich bereit, die
Eingabetaste zu drücken, und das wird ausgeführt. Und wie Sie sehen können, das
neue Linienzeichen. Also die Eingabe, die
ich hier eingegeben habe, dieses neue Zeilenzeichen ist
auch Teil der Zeichenfolge. Die Ausgabe beinhaltet es also, und deshalb
wird es in zwei Zeilen angezeigt. Und dann endlich die letzte Aufgabe, eine mehrzeilige Zeichenfolge zu
schreiben, die in einer einzigen Zeile
gedruckt wird, und das können Sie tun, indem Sie
das neue Zeilenzeichen maskieren Jetzt verwende ich nur
ein doppeltes Anführungszeichen
und sage, dass diese
einzeilige Zeichenfolge geschrieben wurde Und dann verwende ich den umgekehrten Schrägstrich, der
maskiert Es ist ein
Sonderzeichen, das vor
dem folgenden Zeichen maskiert wird,
was in diesem Fall eine
neue Zeile sein
wird, weil nach dem Einfügen des
umgekehrten Schrägstrichs die ich
nach dem Einfügen des
umgekehrten Schrägstrichs die Eingabetaste drücke und in der nächsten Zeile
weitertippe Python betrachtet dies
jedoch immer noch als Teil
der vorherigen Zeile. Schreiben Sie also weiter meine Zeichenketten und
sagen Sie, dass Sie mehrere Zeilen verwenden. Und dann schließe die Zeichenfolge. Mit einer Zeichenfolge wie
dieser, die nur durch ein Anführungszeichen getrennt
ist Eine Zeichenfolge über
mehrere Zeilen zu verteilen, wie ich es
hier mache , funktioniert nur, wenn Sie
den umgekehrten Schrägstrich verwenden Andernfalls würde Python einen Syntaxfehler
auslösen und jetzt die Eingabetaste drücken. Und wie Sie sehen können, wird
es
nur in einer einzigen Zeile angezeigt , weil ich das neue
Zeilenzeichen, das ich hier verwendet habe, maskiere. Ordnung. Das war also eine kurze Zusammenfassung der
verschiedenen Möglichkeiten, wie Sie mischen und zuordnen
können beim Schreiben
Ihrer Zeichenkettenliterale
Anführungszeichen
21. Strings mit String-Methoden manipulieren 2024: Zeichenketten sind
mit speziellen Funktionen gebündelt. Sie werden
Zeichenkettenmethoden genannt, die Sie verwenden
können, um mit Zeichenketten zu arbeiten
und sie zu bearbeiten werden,
stehen zahlreiche
Zeichenkettenmethoden Wie Sie sehen werden,
stehen zahlreiche
Zeichenkettenmethoden zur Verfügung. Zunächst können Sie sich auf
eine Handvoll häufig verwendeter Methoden konzentrieren . In dieser Lektion
erfahren Sie, wie Sie
eine Zeichenfolge in Groß
- oder Kleinbuchstaben umwandeln , wie Sie
Leerzeichen aus einer Zeichenfolge entfernen
und wie Sie feststellen, ob eine Zeichenfolge mit
bestimmten
Zeichen beginnt oder endet Okay, Zeit,
deine erste Methode zu lernen. Die erste wird
daran arbeiten, die Groß- und
Kleinschreibung der Zeichenfolge zu konvertieren. Diese Methode ist um einen Punkt niedriger. Sie konvertiert die Zeichenfolge
in alle Kleinbuchstaben, nimmt alle Großbuchstaben und
wandelt sie in Kleinbuchstaben Es sieht ungefähr so aus. Wenn Sie die Zeichenfolge
von Albert Einstein hinzufügen
und dann den Punkt
niedriger als Methode hinzufügen
, werden alle
Kleinbuchstaben zurückgegeben Der Punkt teilt Python mit, was folgt, ist der Name einer Methode, und in diesem Fall
der niedrigeren Methode. Bei
String-Methoden
, die einen Punkt
am Anfang ihres Namens verwenden, werden Sie sehr oft darauf hingewiesen hören String-Methoden
, die einen Punkt
am Anfang ihres Namens verwenden , zum Beispiel Punkt niedriger oder, wie Sie hier in
einer Sekunde lernen werden, Punkt oben. Dies macht es etwas einfacher, Funktionen, bei denen es
sich um Zeichenkettenmethoden handelt, von
integrierten Funktionen
wie print oder type zu unterscheiden Zeichenkettenmethoden handelt, von
integrierten Funktionen , die
Sie zuvor gelernt haben. Die Methoden
funktionieren für eine Zeichenfolge von selbst, indem sie
den Punkt und eine niedrigere Zahl hinzufügen. Vergessen Sie nicht, die
Methode in Klammern aufzurufen. Sie funktionieren auch, wenn Sie sie einer
Variablen zugewiesen haben. In diesem Fall
geben wir also Name und
das.in ein und möchten die
kleingeschriebene Version des Namens zurückgeben Okay. Jetzt, wo du mit Punkt unten
gespielt hast, wirst
du als Nächstes Punkt oben lernen. obere Punkt konvertiert also die Zeichenfolge aus allen
Großbuchstaben Wenn Sie also
denselben Variablennamen verwenden
und die Methode mit dem oberen Punkt anwenden, werden
Sie feststellen, dass
alle Großbuchstaben zurückgegeben Also nur noch ein
Vergleich zwischen Methoden und Funktionen
, den Sie zuvor gesehen haben. Zeichenkettenmethoden beginnen mit einem Punkt am Anfang
ihres Namens, und so werden Sie mit dem führenden Punkt
auf sie verweisen. Also Punkt unten oder Punkt oben. Das macht es viel
einfacher,
Funktionen, bei denen es sich um
Zeichenkettenmethoden handelt, von
integrierten Funktionen wie
print oder n zu unterscheiden Funktionen, bei denen es sich um
Zeichenkettenmethoden handelt, von . Wenn Sie sie mit
den unterschiedlichen Ergebnissen
dieser Funktionen
vergleichen , ist
der wichtige Unterschied, wie sie verwendet werden. Diese integrierten Funktionen werden
einfach von selbst aufgerufen. Wenn Sie also die
Länge einer Namenszeichenfolge ermitteln möchten, rufen
Sie Ln auf und geben den
Namen hinein. Oder wenn Sie einen Print-Namen wollen, können
Sie einfach das Gleiche tun , statt auf der anderen Seite
mit Groß- und Kleinnamen, beide müssen
zusammen mit der Zeichenfolge verwendet werden. Sie existieren nicht unabhängig voneinander. Leerraum ist jedes Zeichen , das
als Leerzeichen gedruckt wird. Dazu gehören
Dinge wie Leerzeichen, Tabulatoren und sogar Zeilenvorschübe, bei denen es sich um
Sonderzeichen handelt, die die Ausgabe in eine neue Zeile
verschieben. Manchmal müssen Sie
Leerzeichen am
Anfang oder Ende einer Zeichenfolge entfernen . Dies ist besonders
nützlich, wenn Sie
mit Zeichenfolgen arbeiten , die aus Benutzereingaben
stammen, also
etwas,
das
jemand eingegeben hat und die manchmal versehentlich
zusätzliche
Leerzeichen enthalten können zusätzliche
Leerzeichen Es gibt drei
Zeichenkettenmethoden, mit denen
Sie diesen
Leerraum aus einer Zeichenfolge entfernen Punkt-R-Streifen entfernt die abschließenden Leerzeichen von der
rechten Seite der Zeichenfolge Punktstreifen entfernt
die vorangegangenen Leerzeichen von der linken Seite
der Zeichenfolge Und Dot Strip entfernt Leerzeichen sowohl von der
linken als auch von der rechten Seite, sodass alles, was am
Anfang oder Ende
der Zeichenfolge
steht, entfernt wird. Interessanterweise werden Leerzeichen nicht aus der Mitte
entfernt. Lassen Sie uns einiges davon
im interaktiven Fenster ausprobieren. Zuerst müssen wir
etwas Leerraum schaffen. Also mache ich einen neuen Namen,
füge ein paar
Leerzeichen und einen Tabulator ein, und ich gebe wieder meinen
eigenen Namen ein. Du kannst deinen eigenen Namen verwenden. In diesem Fall füge ich ein paar Leerzeichen und einen Tabulator hinzu
und dann einen Schrägstrich, der
ein Zeilenvorschub ist Eigentlich werde ich zwei
dieser Zeilenvorschübe mit ein
paar Leerzeichen dazwischen hinzufügen dieser Zeilenvorschübe mit ein
paar Leerzeichen dazwischen Es gibt dort also viele
verschiedene Leerräume. Wenn Sie versuchen, mit Namen
auszudrucken, werden
Sie sogar den gesamten Leerraum sehen, einschließlich der zusätzlichen
Zeilenumbrüche, also beide. Okay? Was passiert also,
wenn Sie Dot R Strip verwenden? Es hat alle
Leerzeichen
von der rechten Seite entfernt ,
einschließlich der Zeilenumbrüche Auch hier ist der Name immer noch derselbe. Wenn ich also Namen und Punktstreifen
mache, wird das
Leerzeichen vorne weg Und wenn wir Punktstreifen verwenden
, werden die
Leerzeichen auf beiden Seiten entfernt, der
gesamte weiße Raum Seien es Tabulatoren, Leerzeichen
oder Zeilenvorschübe. Wenn Sie mit Text arbeiten, müssen Sie
manchmal feststellen, ob eine bestimmte Zeichenfolge
mit einem bestimmten Zeichen beginnt oder endet. Sie können zwei Zeichenkettenmethoden verwenden
, um dieses Problem zu lösen. Die erste ist Punkt beginnt mit, und die andere ist Punkt endet mit. Lass es uns im
interaktiven Fenster ausprobieren. Nehmen wir an, wir haben eine bioelektrische
Saite. Wir werden eine
Variable namens Leistung erstellen
und Bioelektrizität groß schreiben. Wenn Sie die Methode verwenden, die
mit beginnt, und in diesem Fall müssen
Sie das tun, können Sie sehen, dass sie anfängt, nach dem gewünschten
Präfix zu Und was ist, wenn ich Bio in Kleinbuchstaben schreibe? Wird das funktionieren?
Das gibt Falsch zurück. Sie haben vielleicht herausgefunden, warum weil es mit einem B beginnt. Die Tatsache, dass es mit
der Methode beginnt , unterscheidet zwischen Groß- und
Kleinschreibung. Damit das wahr ist, müssten
Sie
dasselbe eingeben, aber mit einem großen Bo beginnen, das würde wahr zurückgeben. Und wenn Sie ein anderes ausprobieren
wollten, endet in diesem Fall, sagen
wir, Sie sagen,
endet es mit elektrisch?
Du würdest wahr werden. Auch hier wird zwischen Groß- und Kleinschreibung unterschieden. Die
Werte true und false sind keine Zeichenketten. Es gibt eine spezielle Art von
Daten, die als Booling-Wert bezeichnet werden. In einer späteren Lektion erfahren Sie mehr über
Boleing-Werte. Jetzt sind Zeichenketten unveränderlich. Die meisten Zeichenkettenmethoden ändern eine
Zeichenfolge wie upper und lower, geben
aber tatsächlich Kopien
der ursprünglichen Zeichenfolge
mit diesen Änderungen zurück der ursprünglichen Zeichenfolge
mit diesen Änderungen Wenn Sie also nicht vorsichtig sind, erkennen
Sie dies möglicherweise nicht, und es könnte zu subtilen
Fehlern in Ihrem Programm führen. Probiere das aus.
Also gib diesmal einen Namen Wells Virginia ein. Okay. Also nochmal, wenn Sie Name eingeben
und die Methode mit einem großen Punkt angeben, erhalten
Sie alles in Großbuchstaben Aber Sie haben vielleicht bemerkt , dass
ich das
auch etwas früher gezeigt habe , dass das Original nicht
verändert wurde es nun dazu zu bringen,
den Variablennamen zu ändern, müssten
Sie ihn neu zuweisen Das würde also so aussehen. Name entspricht oberem Namen. Jetzt wurde der Name geändert. Dadurch wird die
ursprüngliche Zeichenfolge, die Sie dem Namen
zugewiesen haben, überschrieben ,
indem Sie sie neu zuweisen. Sie haben vielleicht bemerkt
, dass es viele
Methoden gibt, die mit Zeichenketten verknüpft Die Methoden, die ich in
dieser Lektion zeige , sind kaum
oberflächlich. Idle kann Ihnen helfen,
diese neuen Zeichenkettenmethoden zu finden. Lassen Sie mich Ihnen zeigen, wie Sie einige davon entdecken
können. Kehren wir zu unserem Beispiel mit
Elektrizität zurück. Wenn Sie mit einem
Variablennamen beginnen und dann den Punkt hinzufügen, öffnet sich
ein kleines Feld und zeigt Ihnen einige der
verschiedenen verfügbaren Variablen. Wenn Sie einen Buchstaben eingeben, erhalten Sie
auch einige davon. Dadurch werden die Ergebnisse eingegrenzt. Wenn ich anfange, oben
zu buchstabieren, wirst
du sogar sehen, dass es dort hervorgehoben ist. Sie können dies abschließen,
indem Sie die Tabulatortaste drücken, und dann können Sie den Vorgang beenden,
indem Sie die Methode aufrufen. Dies ist eine gute Möglichkeit, weitere verfügbare Methoden
zu
entdecken. Okay. Nachdem Sie nun ein wenig
geübt haben ,
indem Sie versucht haben, einige
dieser zusätzlichen Methoden zu finden, hier einen kurzen Überblick. Mit IDL können Sie den Namen einer Variablen
eingeben , die
einer Zeichenfolge
zugewiesen ist,
und dann einen Punkt hinzufügen, oft als Punkt gesprochen wird,
und dann warten Sie einen Buchstaben eingeben, werden einige
Ergebnisse eingegrenzt , und durch Drücken der
Tabulatortaste wird
dieser Methodenname automatisch eingetragen, wenn Sie mit der Benennung
begonnen haben Und eine Anmerkung: Das
funktioniert sogar mit Variablennamen. Versuchen Sie, die ersten Buchstaben
von electric einzugeben und die Tabulatortaste zu drücken. Wenn Sie
keine anderen Namen definiert haben , die diese ersten Buchstaben gemeinsam
haben, vervollständigt
Idle den
Namen electric für Sie. Tab ist also eine nette Art von Autovervollständigung, die du in Idol verwenden
kannst Okay. Zeit, das Gelernte zu überprüfen
. Zeit zum Üben. Übung eins. Schreiben Sie ein Programm, das
die folgenden Zeichenketten in Kleinbuchstaben
umwandelt die folgenden Zeichenketten in Kleinbuchstaben
umwandelt Drucken Sie dann jede Zeichenfolge
in Kleinbuchstaben in
einer separaten Zeile. Übung zwei Versuchen Sie, die erste Übung zu wiederholen, konvertieren Sie
jedoch jede Zeichenfolge Großbuchstaben statt in Kleinbuchstaben Übung drei: Schreiben Sie
ein Programm, das
Leerzeichen aus den
folgenden Zeichenketten entfernt Leerzeichen aus den
folgenden Drucken Sie dann die Zeichenketten aus wobei der gesamte
Leerraum entfernt wurde. Übung vier. Schreiben Sie ein Programm , das die
Ergebnisse von Starts
with B für jede der folgenden
Zeichenketten ausgibt . Übung fünf. mit denselben vier
Zeichenketten wie in Übung vier ein Programm, Schreiben Sie mit denselben vier
Zeichenketten wie in Übung vier ein Programm, das
Zeichenkettenmethoden verwendet , um jede Zeichenfolge
so zu
ändern , dass der Wert, der mit B beginnt, für alle Zeichenketten den
Wert true zurückgibt. Schreiben Sie also noch einmal ein Programm, andere
Zeichenkettenmethoden verwendet
, um die Zeichenketten so zu ändern, dass, wenn sie
mit B beginnen, für alle Zeichenketten den Wert true zurückgibt. Lösungen für
diese Übungen und
den Code finden Sie in den
Ressourcendateien dieser Lektion. Ordnung. Als Nächstes, wie man Zeichenketten indexiert und schneidet. Danke fürs Zuschauen
22. Fallstudien ändern (Übung) 2024: Hier ist deine nächste Übung. Es geht um einen Fallwechsel. In dieser Übung besteht Ihre Aufgabe
darin, die
Groß-/Kleinschreibung von Zeichenketten zu ändern. Experimentieren Sie einfach und
üben Sie ein wenig mit den verschiedenen Zeichenkettenmethoden
, die Sie verwenden können, um die Groß Kleinschreibung in Zeichenketten zu
ändern. Und die Aufgabe besteht darin, ein Programm zu
schreiben, das die folgenden
Zeichenketten zuerst in Kleinbuchstaben
umwandelt. Und dann hast du hier
vier Zeichenketten. Das erste sind Tiere. Der zweite ist Dachs. Der dritte ist Honey Space B und der vierte ist
Honey Space Badger Und nachdem Sie sie alle
in Kleinbuchstaben umgewandelt haben, sollten Sie diese
jeweils
in Zeichenketten und in Großbuchstaben umwandeln Zeichenketten und in Großbuchstaben Und Sie sollten jede
der Zeichenketten in
einer separaten Zeile drucken der Zeichenketten in
einer separaten Zeile Das Ergebnis der Lösung
dieser Aufgabe
wird also im Grunde
eine ganze Reihe von Zeilen von
Druckaufrufen sein eine ganze Reihe von Zeilen von , in denen Sie
einige Zeichenkettenmethoden anwenden. Probieren Sie es aus und fahren Sie
dann mit der nächsten Lektion fort und vergleichen
Sie Ihre Lösung mit meiner.
23. Den Fall ändern (Lösung) 2024: Die Aufgabe besteht darin, vier Zeichenketten zu
erstellen, sie alle
in Kleinbuchstaben und dann
alle in Großbuchstaben umzuwandeln, jeweils in einer separaten Zeile Ich
beginne damit,
die Zeichenketten zu definieren und
sie Variablen zuzuweisen Die erste Zeile lautete Tiere
im Titelfall. Zeichenfolge zwei war Badger. Strang drei Honigbiene. Und die vierreihige Honigdachs, der gefährlichste von allen. Ordnung. Und jetzt schreibe ich Anrufe
zum Ausdrucken. Drucken, Klammer öffnen,
Zeichenfolge einen Punkt tiefer. Schließe es, gib ein. Und ich habe Tiere als Ergebnis. Druckt die Zeichenfolge zwei Punkte tiefer. Das ist also eine Art
Tippübung, wie Sie sehen können, weil Sie
für jede der Zeichenketten einfach dasselbe wiederholen Und später im Kurs werden
Sie auch lernen, wie
Sie das etwas
automatisierter machen können, damit Sie nicht so viel tippen
müssen Aber vorerst schadet es nicht, ein bisschen Tippübung
zu machen und einfach zu üben, wie man
diese Zeichenkettenmethoden benutzt und wie
man sie auf eine Zeichenfolge anwendet, nämlich indem man zuerst die Zeichenfolge,
dann einen Punkt und dann
die Zeichenkettenmethode
schreibt . Und Sie verwenden diese
Klammern hier, in diesem Fall sind sie
leer, um diese Methode aufzurufen Es ist also ähnlich wie bei
der Druckfunktion, wie Sie hier sehen können, wo Sie
auch die Klammern benötigen Großartig. Wir haben sie alle
in Kleinbuchstaben umgewandelt Wie Sie sehen können, erfolgt die Ausgabe
ausschließlich in Kleinbuchstaben. Und jetzt wollen wir dasselbe tun, aber sie in Großbuchstaben umwandeln Also sagen wir PrintString
einen Punkt nach oben. Treten Sie ein. Und Sie können sehen, dass Tiere ausschließlich in Großbuchstaben zurückgegeben Lass uns die
Tippübung fortsetzen. PrintString mit zwei Punkten oben. Prinz, Zeichenfolge drei, nicht größer. Und schließlich, Zeichenfolge mit
vier Punkten oben. Nett. Und das ist das
Ende der Übung.
24. Leerräume entfernen (Übung) 2024: In dieser Übung besteht
Ihre Aufgabe darin,
ein Programm zu schreiben , das
Leerzeichen aus den
folgenden Zeichenketten entfernt Leerzeichen aus den
folgenden Zeichenketten Drucken Sie dann die Zeichenketten aus,
wobei der Leerraum entfernt wurde. Die erste Saite ist Filet Mignon. Ich schätze, das sind ein
paar Lebensmittel,
aber es sieht so aus, als hätte die Person, die das Menü
geschrieben hat, Probleme
damit gehabt , an verschiedenen Stellen etwas zu viel
Leerraum zu platzieren an verschiedenen Stellen etwas zu viel
Leerraum Also denke ich mir
die Geschichte rund um die Aufgabe aus, dass Sie
der Programmierer
des Restaurants sind und
das Online-Menü
aufräumen sollen , so
etwas Siehst du, das erste Getränk hat etwas
Weißraum auf der linken Seite Der zweite hat rechts etwas
Leerraum und der dritte hat links und
rechts Leerraum Es ist also ein Käseburger
mit etwas Whitespace-Brötchen. Eine Sache, die für Sie
nützlich ist , bevor
Sie mit dieser Aufgabe beginnen: Gehen Sie
davon aus, dass ich am Anfang jedes
dieser Wörter
fünf Leerzeichen eingegeben habe am Anfang jedes
dieser Wörter
fünf Leerzeichen , weil
es für mich
einfacher ist , als diese Leerzeichen
abzutippen, auch wenn es
egal ist, wie viele Lassen Sie uns
einige Leerzeichen entfernen.
25. Whitespace entfernen (Lösung) 2024: Die Aufgabe besteht also darin,
den Leerraum zu entfernen und das Menü
zu reinigen Lassen Sie uns diese drei Zeichenketten eingeben. Jetzt habe ich Zugriff auf alle
drei Zeichenfolge eins, Zeichenfolge zwei und Zeichenfolge drei. Und Sie können sehen, dass sie
diesen weißen Raum haben , den
Sie loswerden sollten. Die String-Methode
dafür ist Dot Strip. Sie können zum Beispiel sagen, Streifen mit drei Punkten
aneinanderreihen, dass Sie einen Streifen mit drei Punkten
aneinanderreihen,
und dadurch wird
der Leerraum sowohl
am Anfang
als auch am Ende entfernt . Das bedeutet, dass Sie Strip für jede
dieser Zeichenketten
verwenden könnten , und es wird das tun, worum
Sie gebeten werden. Aber Python hat
hier zwei
spezifischere Methoden , bei denen Sie einfach
Leerzeichen von der rechten
oder linken Seite entfernen können , die ich für
die hier anwenden werde. Zeichenfolge zwei, ich kann den Punkt-R-Streifen
verwenden. Es wird nur von
der rechten Seite entfernt, aber nicht von der linken Seite. Für die erste Saite
kann ich Dot Strip sagen. Das wird den
weißen Bereich von der linken Seite entfernen , aber
auf der rechten Seite nichts bewirken. Sie können entweder
Strip für alle verwenden ,
und das wird funktionieren, oder Sie können den
spezielleren L-Streifen und den
R-Strip für Saite 1 bzw.
Saite 2 verwenden .
26. String-Indexing 2024: In Programmiersprachen kann häufig über einen
numerischen Index oder Schlüsselwert direkt
auf
einzelne Elemente in einem
geordneten Datensatz zugegriffen werden numerischen Index oder Schlüsselwert direkt
auf
einzelne Elemente in einem
geordneten Datensatz zugegriffen Dieser Prozess
bezieht sich auf die Indizierung. Zeichenketten sind geordnete Sequenzen
von Zeichendaten, und die einzelnen
Zeichen einer Zeichenfolge
kann direkt
über einen numerischen Index zugegriffen werden Die Zeichenkettenindizierung in
Python basiert auf Null. Das allererste Zeichen in
der Zeichenfolge
hätte also den Index Null und das nächste
wäre Eins und so weiter Der Index des letzten
Zeichens entspricht der Länge
der Zeichenfolge minus eins. Schauen wir uns ein Beispiel an. Für die Zeichenfolge apple wird also der erste Index, Index
Null, einen Buchstaben A haben, und der letzte Buchstabe, der Index vier ist
, ist E. Lassen Sie uns das
interaktiv ausprobieren Hier ist eine Zeichenfolge A
, die Apfel sein würde. Um auf das erste
Element in meiner Zeichenfolge zuzugreifen, verwende
ich eckige Klammern. In diesem Fall mit Index Null, und es wird
der erste Buchstabe
meiner Zeichenfolge abgerufen und so weiter. Index eins ist also
das zweite Zeichen, P, und das letzte Zeichen
E wird Index vier sein. Eine andere Möglichkeit
, dies zu erreichen, wäre
die Verwendung der eingebauten
Len-Funktion length. Die Länge der Zeichenfolge
A minus eins ergibt also auch das
letzte Zeichen. Wenn ich zu einem Index gehe, der die Länge
der Zeichenfolge überschreitet, erhalte
ich einen Indexfehler, der
Zeichenkettenindex
liegt erhalte
ich einen Indexfehler, außerhalb des zulässigen Bereichs. Zeichenkettenindizierung kann auch bei negativen Zahlen
spezifisch sein bei negativen Zahlen
spezifisch Negative Indizierung
ist ebenfalls verfügbar. In diesem Fall gehen Sie rückwärts. Negativ eins wird nach hinten
kommen, also ist E minus eins, und minus fünf ist A, dein erster Buchstabe Lass mich das ausprobieren. Also A, eine negative Eins in
eckigen Klammern ergibt den letzten
Buchstaben und so weiter. Auch hier könnten Sie die
n-Funktion so verwenden. Das wird dein erster Brief sein. Mit Index können Sie auf
einzelne Zeichen zugreifen und auch Bereiche davon
abrufen. Es heißt String Slicing und kommt als nächstes.
Danke fürs Zuschauen
27. String Slicing 2024: Python ermöglicht auch eine Form der Indexierungssyntax, die
Teilzeichenfolgen aus einer Zeichenfolge extrahiert Es wird als String-Slicing bezeichnet. Die Syntax, die Sie verwenden, ist der Indexierung sehr ähnlich Anstatt nur einen Wert in die eckigen
Klammern
zu setzen, setzen
Sie zwei mit einem
Doppelpunkt dazwischen In diesem Beispiel ist
D also eine Zeichenfolge, und M und N sind zwei Werte,
die einen Teil von D zurückgeben,
beginnend mit der Position M
bis zur Position
N. Definieren wir die Zeichenfolge D für Avocado, aber nicht
eingeschlossen . Definieren wir die
Zeichenfolge D für Avocado. Sie, wenn Sie Index eins plus zwei,
aber nicht einschließlich
vier auswählen Was erhalten Sie, wenn Sie Index eins plus zwei,
aber nicht einschließlich
vier auswählen? VOC. Auch hier gilt: Null ist A, eins ist V,
zwei ist O, drei ist C und vier ist ebenfalls A, aber ohne vier Was passiert also, wenn Sie
das erste N oder den letzten Index weglassen? Wenn Sie den ersten Index weglassen, in diesem Fall A,
Doppelpunkt und dann N, beginnt
das Aufteilen
am Anfang
der Zeichenfolge und geht bis zum
nicht berechneten Indexwert N hoch. Wenn Sie den letzten Index weglassen,
wird
dieser Abschnitt nicht vom ersten Index
M bis zur Zeichenfolge erweitert dieser Abschnitt nicht vom ersten Index M beide
Indizes weglassen, wird
die gesamte ursprüngliche Zeichenfolge zurückgegeben Wenn Sie beide
Indizes weglassen, wird
die gesamte ursprüngliche Zeichenfolge zurückgegeben. Es ist keine Kopie. Es ist ein Verweis
auf die ursprüngliche Zeichenfolge. Schauen wir uns diese in der Praxis an. Geben Sie D und Doppelpunkt zwei und es wird AV zurückgegeben. Bis zu fünf geben wir A VOCA zurück. Bis zum Ende kannst
du das machen, indem du tippst. Eine andere Möglichkeit, dies
zu tun, besteht darin, den Wert
Ihres Startindexes einzugeben und dann
die Längenfunktion
als Ihren Endindex zu verwenden . Wenn Sie die Zeichenketten
ohne Werte
ausprobieren, beginnt der Vorgang vom
Anfang bis zum Ende. Es ist ein Verweis auf
die ursprüngliche Zeichenfolge. Negative Indizierung funktioniert ebenfalls. Sie können auch eine Kombination aus positiven und negativen Indizes erstellen Ich beginne mit einem negativen
Index von fünf und gehe dann zu
einem negativen Index über. Was bekommst du? Sie bekommen OCAD. Beim
Slicing können
Sie eine Zeichenfolge
in einer Slice-Zeichenfolge angeben Es wird ein
zusätzlicher Doppelpunkt hinzugefügt und ein dritter Index gibt an,
wie hoch der Schritt Es wird auch der Schritt genannt. In diesem Fall würde
unser Abschnitt also von den Anfängen ausgehen,
gefolgt von Schritt zwei,
mit
dem allerersten Element beginnen, das Null und der Buchstabe A ist,
und dann
zwei Schritte überspringen, um
den Buchstaben O zu finden gefolgt von Schritt zwei, mit
dem allerersten Element beginnen, das Null und der Buchstabe A ist, und dann
zwei Schritte überspringen, um
den Buchstaben O zu , und dann
weiterspringen, um Index vier zu holen, und dann zum Ende übergehen Was ist, wenn wir bei Schritt zwei
Doppelpunkt eingeben? Es wird sich die
Buchstaben AO AO schnappen. Sie können auch einen
negativen Schritt machen. Das war's für heute.
Ich hoffe, du verstehst, was String-Slicing ist.
Danke fürs Zuschauen
28. ÜBUNG: String Slicing: In dieser Übung geht es darum, eine
Zeichenfolge in Scheiben zu schneiden. Ihre Aufgabe besteht darin, die Zeichenfolge unter zu drucken, indem Sie die
Slice-Notation verwenden , um
den richtigen Zeichenbereich
in der Zeichenkettenkiste anzugeben den richtigen Zeichenbereich
in der Zeichenkettenkiste Sie beginnen also mit
der Zeichenkettenkiste
und schneiden
diese Zeichenfolge dann ab, sodass nur der
Teil
herausgenommen wird, in dem Rata ta, lass uns gehen.
29. LÖSUNG: String Slicing: In Ordnung, ich habe
mein Python im Leerlauf geöffnet. Meine Aufgabe ist es, eine
Kiste zu zerschneiden, um Ratten zu bekommen. Also werde ich damit beginnen,
die Zeichenfolge Crate einer Variablen zuzuweisen die Zeichenfolge Crate Also werde ich
es in diesem Fall einfach Wort nennen. Okay, hier haben wir Crate, und dann verwende ich Slice-Notation, um den Ratten-Teil
herauszuholen Und um die Slice-Notation zu verwenden, benutzt
man eckige Klammern Innerhalb der eckigen Klammern müssen
Sie die
Indizes eingeben, die Sie verwenden möchten Die Zeichenkettenindizierung
beginnt mit Null. Also C ist am Index Null, und dann habe ich R
am Index eins Also kann ich mit einem beginnen. Und dann möchte
ich in diesem Fall alles
herausfinden, was mit
Eins beginnt und bis zum Buchstaben T reicht
, der in Index drei steht. Dies wird auch als Stopp-Index bezeichnet
. Also kann ich das einfach machen, indem ich dort einen Doppelpunkt
setze. Ich möchte hier einen großen,
fetten Haftungsausschluss einfügen. Sie müssen eins
plus das letzte Zeichen angeben , das Sie erhalten möchten. Ich möchte also zu Vier gehen, was der Index von E ist, und das bedeutet, dass
ich
alles auf E bringen werde .
Das Wort eins, Doppelpunkt vier,
sollte mir also die eigentliche Zeichenfolge geben , nach der ich
suche, nämlich Rat. also das Wort
einen Doppelpunkt vier eintippe, sollte
ich
nur die Zeichenfolge Rat heraussuchen. Und lassen Sie uns bestätigen, indem wir
die Eingabetaste drücken. Hier ist es. Ich habe eine Ratte aus der
Kiste geschnitten. Da hast du's Wenn Sie jedoch eine längere
Zeichenfolge haben und alles bis zum letzten Zeichen
bringen möchten ,
aber nicht bis
zum letzten Zeichen, dann
kann das Zählen auf diese Weise ziemlich schwierig werden. Stattdessen
kannst du rückwärts gehen. Und Sie können auch Indizes zählen, die mit einem Minus
beginnen. Der erste Wert
wird also minus eins sein, und dann wird T minus zwei
sein usw. Also kann ich stattdessen Wörter
angeben,
die bei eins beginnen und dann bis minus eins gehen, was das Gleiche bedeutet,
als würde ich eins bis vier sagen Das ist also eine andere
Art, einfach Ratte zu bekommen. Und jetzt habe ich zwei Möglichkeiten gefunden, ohne
den
letzten Charakter E auszukommen ohne
den
letzten Charakter E
30. String-Verkettung: Einige Operatoren
können für
numerische Operanden verwendet werden und können auch auf Zeichenketten
angewendet werden In diesem Fall wird der Operator, der wie ein
Pluszeichen
aussieht, als Verkettungsoperator und als
Multiplikationszeichenoperator betrachtet Verkettungsoperator und als
Multiplikationszeichenoperator ,
der in Zeichenketten
mehrere Kopien einer Zeichenfolge erzeugt Zu Beginn verkettet der
Plus-Operator also Zeichenketten. Er gibt eine Zeichenfolge zurück, die
aus
den miteinander verbundenen Operanden Zuerst definiere ich einige Zeichenketten. Ein Äquivalent zu Apple. Das nächste
String-Ziel, das wir
erstellen werden , ist B, das gleich Banane ist. Und schließlich ist C gleich Kirsche. Was passiert also, wenn ich das Pluszeichen,
den Verkettungsoperator,
A plus B und Enter
verwende den Verkettungsoperator,
A plus B Lassen Sie uns alle drei Dinge kombinieren. Es wird alle drei verketten. Wir können
Zeichenketten auch zu solchen Druckfunktionen verketten Zeichenketten auch zu solchen Druckfunktionen verketten M. Das ist also der
Verkettungsoperator. Schauen wir uns den
Multiplikationsoperator an, bei dem es sich um ein Sternchen handelt,
das mehrere
Kopien einer Zeichenfolge erzeugt, um eine Zeichenfolge zurückzugeben einer Zeichenfolge besteht Lass mich dir zeigen, wie es aussieht. Ich erstelle ein Objekt, D, das eine Ganzzahl ist
, die fünf entspricht. Was passiert, wenn Sie A
multiplizieren, D multiplizieren? Der Operator repliziert
das String-Objekt also fünfmal und verkettet Der Multiplikator muss
also eine Ganzzahl sein. Sie können beispielsweise nicht mit einer
Fließkommazahl multiplizieren. Was ist, wenn es sich um eine negative Zahl handelt? Das wird
eine leere Zeichenfolge zurückgeben.
31. ÜBUNG: String-Verkettung: Hier ist deine zweite Lektion zur
Verkettung. Erstellen Sie zwei Zeichenketten,
verketten Sie sie und drucken Sie die resultierende Zeichenfolge aus. Und dann ist da noch die Frage.
Können Sie auch ein Leerzeichen zwischen ihnen hinzufügen, indem Sie nur Verkettung
verwenden Wählen Sie also zwei Wörter aus, die Sie schon immer miteinander verbinden wollten Ich werde die
Wörter Fledermaus und Mann wählen. Gehen Sie in Ihren
Python-Editor und machen Sie es möglich. Fahren Sie danach der nächsten Lektion fort und
schauen Sie mir dabei zu.
32. LÖSUNG: String-Verkettung: Die Aufgabe bestand darin,
zwei Zeichenketten zu erstellen und
sie Variablen zuzuweisen. Verketten Sie sie ohne Leerzeichen
und verketten Sie sie mit Leerzeichen und verketten Beginnen wir damit,
zwei Variablen zu erstellen, die zwei Ich beginne mit der Zeichenfolge
underscore left
, mit der ich auf
eine Zeichenfolge verweisen werde, die so heißt Und dann mache ich noch eine
Zeichenfolge mit einem Unterstrich nach rechts. Darauf werde ich zeigen, Mann. Und jetzt kann ich
einen Call to Print nutzen , um
diese beiden zusammenzufügen. Also öffne ich die Klammern nach dem Schreiben von print
und gebe dann String underscore left plus
string underscore right Schließe die Klammern.
Wie Sie hier sehen können, verwende
ich den Plus-Operator, der
, wenn Sie
ihn mit Zeichenketten verwenden,
diese miteinander verkettet Es wird also buchstäblich Fledermaus und
Mensch zusammenhalten ,
ohne dass ein Leerzeichen Ich drücke zur Bestätigung die Eingabetaste, und wir bekommen die Zeichenfolge
Batman zusammengeklebt Die letzte Aufgabe bestand nun darin, sie mit einem Leerzeichen zu
verketten. Also kopiere ich einfach meinen
Anruf zum Drucken und springe in die Mitte des Ganzen
neben dem Und hier füge ich noch eine weitere Zeichenfolge hinzu, ein
Leerzeichen Also öffne ich die Anführungszeichen, füge ein
Leerzeichen ein und schließe
die Anführungszeichen dann wieder Das ist eine absolut gültige Zeichenfolge. Es ist nur eine Zeichenfolge, die nur
aus einem Zeichen besteht, was in diesem Fall ein Leerzeichen ist. Auch hier verwende ich die Plus-Operatoren links und rechts, um diese
drei Zeichenketten zusammenzufügen. Jetzt werde
ich in iBressenter eine Saite
Batman in einem bekommen, und das ist die Übung
33. String-Formatierung: Jetzt zeige ich Ihnen, wie Sie
Zeichenketten mit dem
Prozentoperator formatieren . Dies wird auch als prozentuale
Zeichenkettenformatierung oder C-Stil bezeichnet . Die Syntax für die Verwendung des Prozentoperators
lautet wie folgt. Syntax besteht aus drei Teilen: der Zeichenfolge in Anführungszeichen, dem
Prozentoperator und Werten oder
Variablen, die in
eine durch Kommas getrennte Zeichenfolge eingefügt werden müssen eine durch Kommas getrennte Zeichenfolge Der erste Stempel besteht darin,
die Zeichenfolge, die
formatiert werden soll, in Anführungszeichen zu schreiben die Zeichenfolge, die
formatiert werden soll, in Danach schreiben wir
das Prozentzeichen. Und schließlich schreiben wir die Variablen oder Werte
in Klammern. Das Prozentformat wird verwendet
, um eine Zeichenfolge darzustellen, in diesem Fall
Andreas. Das Prozentformat D
steht für eine Ganzzahl, in diesem Fall
75 Kilogramm. Python Prince, ich
heiße Andreas und wiege 75 Kilogramm. Sie können ein von
mir erstelltes PDF herunterladen Es handelt
sich um eine Liste
vollständiger
Symbolsätze , die
zusammen mit Prozentwerten verwendet werden können. Sie finden es in
Ihren Ressourcendateien. Anstatt den
Prozentoperator zum Formatieren von Zeichenketten zu verwenden, bietet uns
Python auch eine Formatierungsmethode zum
Formatieren von Zeichenketten. Die Syntax ist das Zeichenkettenpunktformat, Werte oder Variablen,
die
in eine durch Kommas
getrennte Zeichenfolge eingefügt werden sollen in eine durch Kommas
getrennte Zeichenfolge Wenn wir die Formatmethode verwenden, verwenden
wir weder Prozent S
noch Prozent D als Platzhalter Stattdessen verwenden wir solche
geschweiften Klammern. Zuerst schreiben wir die
zu
verwendenden Parameter position in die geschweifte Klammer, gefolgt von einem Doppelpunkt,
und nach dem Doppelpunkt schreiben
wir das Format
ohne Leerzeichen innerhalb
der ohne Leerzeichen innerhalb
der Wenn wir Nullpunkt S schreiben, bitten
wir den
Interpreter,
Nullpunkt S durch einen
Parameter an der Nullposition zu ersetzen Nullpunkt S durch einen
Parameter an der Nullposition , sodass es sich um eine Zeichenfolge handelt,
weil der Formatierer
S ist . Wenn wir einen Doppelpunkt D schreiben, beziehen
wir uns auf den Parameter an Position eins, nämlich die Das Formatsymbol ist D. Beachten Sie, dass Positionen
immer bei Null beginnen Das Ergebnis ist dasselbe wie oben. Wenn Sie
die Zeichenfolge nicht formatieren möchten ,
können Sie einfach schreiben. A Der Interpreter
ersetzt die geschweiften Klammern in der Reihenfolge der angegebenen
Parameter Wir haben die Grundlagen der Methoden zur
Zeichenkettenformatierung behandelt, die wir
in der nächsten Lektion genauer kennenlernen werden die wir
in der nächsten Lektion genauer kennenlernen werden.
Danke
fürs Zuschauen.
34. F-Strings: Eine verbesserte String-Formatierungssyntax: Okay, lassen Sie uns
über F-Strings sprechen. Warum verwende ich also
drei F-Strings in Python? Sie sind besser lesbar.
Sie sind übersichtlicher, weniger fehleranfällig und schneller Aber ich beginne mit der
Zeichenkettenformatierung der alten Schule, der Prozentformatierung,
dem Zeichenkettenpunktformat Lassen Sie mich
mit ein paar Beispielen beginnen. Öffnen Sie die Python-Shell. Lassen Sie uns eine Variable einrichten
und ihr einen Namen geben. Zum Beispiel Alan. Verwenden Sie diese Variable in einer Zeichenfolge. Verwenden Sie Prozent a in Ihrer
Zeichenfolge und am Ende derselben. Geben Sie den Prozentsatz und dann den
Namen der Variablen ein. Angenommen, wir haben
noch eine Variable. Jetzt haben wir zwei Variablen. Wir möchten zu unserer Zeichenfolge etwas hinzufügen. Das Gleiche gilt für den Namen. Und dann geben wir das Alter, Prozent und S ein. In diesem Fall haben
wir also zwei Variablen
, die wir eingeben werden. Geben Sie dazu Prozent
und dann den Namen, Alter
in Klammern, Was ist, wenn Sie
viel mehr Variablen haben? Lassen Sie uns einige Variablen einrichten. Wenn man all diese in
einer einzigen Zeichenfolge zusammenfasst, wird
es langsam etwas chaotisch Wir müssen
die Anzahl der
Prozent S zählen , um
sicherzugehen, dass wir
sie in der richtigen Reihenfolge haben N
, welche Sie ersetzen Am Ende müssen wir alle Variablen
in Klammern
setzen Ordnung. Es sieht richtig aus. Drücken Sie die Eingabetaste. Zum Glück gibt es bessere Möglichkeiten, dies zu tun. Lassen Sie uns über das
Zeichenkettenpunktformat sprechen. Wir können Platzhalter in
unserer Zeichenfolge in geschweiften Klammern setzen. Und ganz am
Ende der Zeichenfolge würden
wir Punktformat sagen, und dann könnten wir
Argumente in Name und Wir können auch auf die
Variablen in ihrem Index verweisen. Nehmen wir an, das ist Index eins
und dieser ist Index Null. Und wir kehren Name und Alter in umgekehrter
Reihenfolge um. Wir erhalten also das gleiche Ergebnis. Lassen Sie uns nun über eine
neue und verbesserte Methode zum Formatieren von Zeichenketten in
Python, F-Strings, sprechen. F-Strings werden auch als
formatierte Zeichenkettenliterale bezeichnet und in der Python 3.6-Version
erstellt Sie haben eine einfache Syntax. Sie werden zur Laufzeit ausgewertet und
mithilfe des Formatprotokolls formatiert Lassen Sie mich Ihnen einige Beispiele zeigen. Lassen Sie uns drei Variablen einrichten. Name, Alter und Beruf, um eine Zeichenfolge in
unseren geschweiften Klammern zu bilden Wir setzen unsere Ausdrücke ein. Und wenn Sie möchten, können Sie
F am Anfang
Ihrer Zeichenfolge verwenden . Nett und einfach. ich Ihnen nun die
einfache Syntax von F-Strings gezeigt habe, lassen Sie uns über
beliebige Ausdrücke sprechen. Sie können eine einfache Masse
in geschweiften Klammern erstellen. Du kannst
so etwas auch machen. Ich kann auch
Funktionen und Methoden aufrufen, aber das sind Konzepte
, die das später tun werden. Jetzt können wir auch
mehrzeilige Zeichenketten erstellen. Dies ist hier eine
mehrzeilige Nachricht. Wie sieht diese Nachricht
aus? Geben Sie Nachricht ein. Denken
Sie nur daran, dass Sie bei jedem
dieser Ausdrücke
das F setzen müssen bei jedem
dieser Ausdrücke
das F , um jeden
dieser Ausdrücke in die
Zeichenfolge einzugeben . Was ist mit Geschwindigkeit? F-Zeichenketten sind schneller als Prozentformatierung
und das STR-Punktformat. Deshalb werde ich
Ihnen einen Überblick über alles geben, was Sie in dieser Lektion behandelt
und gelernt haben. Wir haben mit der
ältesten Zeichenkettenformatierung begonnen, der prozentualen Zeichenkettenformatierung,
auch C-Stil genannt. Danach begannen wir,
über die Methode des
Zeichenkettenpunktformats zu sprechen , die mit der Python-Version
2.6 begann. Und schließlich haben wir
die neueste Methode zur
Formatierung
von Zeichenketten behandelt , die F-String, die mit der Python-Version 3.6 begann. Das war's für heute. Nochmals vielen Dank, dass Sie
mich in dieser Lektion begleitet haben. Und ich hoffe, Sie können jetzt sehen,
wie viel prägnanter, lesbarer, praktischer und
schneller F-Strings sein können
35. ÜBUNG: Optimiere deine Drucke: In dieser Übung lernen Sie, Ihre
Ausdrucke zu optimieren. Wie Sie bereits gesehen haben, kann das bloße Zusammenfügen etwas klobig
werden Hier haben Sie also
eine Übung, in Sie drei verschiedene
Arten der Anzeige derselben Zeichenfolge ausprobieren können, indem Sie
verschiedene Arten der
Zusammenstellung der Zeichenkettenverkettung, das Zeichenkettenpunktformat und auch eine
F-Zeichenfolge Zeichenkettenpunktformat und auch eine
F-Zeichenfolge Die Aufgabe besteht darin, ein Float-Objekt mit dem Namen weight
mit dem Wert 0,2 und anschließend ein String-Objekt
namens animal mit dem Wert
Anim zu erstellen und
diese Objekte dann zum Drucken der folgenden Zeichenfolge namens animal mit dem Wert zu verwenden zu Zunächst sollte die Zeichenfolge also nur durch
Verkettung sagen, dass 0,2
Kilogramm
dem Gewicht eines Animums Und dann sollten Sie dieselbe Zeichenfolge mit
der Punktformatmethode und
leeren
Platzhaltern in geschweiften Klammern anzeigen Punktformatmethode und
leeren
Platzhaltern in geschweiften Klammern Und schließlich mache ich
dasselbe auch mit einer F-Zeichenfolge. Machen Sie weiter und lösen Sie diese
Herausforderung für sich selbst, dann sehen wir uns
in der nächsten Lektion.
36. LÖSUNG: Optimiere deine Drucke: Hier bin ich wieder in der
interaktiven Shell, und die Aufgabe bestand darin,
zunächst zwei Variablen zu definieren Eine hatte ein Gewicht
, das 0,2 Fließkomma entsprach. Und dann war Tier die Zeichenfolge , die
auf die Zeichenfolge Nim zeigen sollte Okay, fangen wir mit der
Verkettung an. Ich werde es drucken,
obwohl
wir hier in der Konsole auch dann ein Ergebnis erhalten würden, wenn es nicht Aber bleiben wir
dabei. Und auch hier muss
ich
den ersten in eine Zeichenfolge konvertieren, da dies derzeit ein Float
ist. Wenn ich versuche, mit
dem Plus-Operator
einen Float und eine Zeichenfolge zusammen zu addieren , würde mir
das einen Fehler geben,
wie Sie zuvor gesehen haben. Also sage ich Zeichenkettengewicht, konvertiere es
explizit in eine Zeichenfolge und dann Plus. Öffne doppelte Anführungszeichen und tippe. Ein Leerzeichen (Kilogramm) ist wieder das Gewicht
des Leerzeichens, wieder
doppelte Anführungszeichen. Und dann werde ich das wieder mit Tier verknüpfen
. Es heißt also, 0,2 Kilogramm sind
das Gewicht eines NM. Und dann sollte es am Ende wohl eine Frist geben, um
daraus einen ordentlichen Satz zu machen Wenn ich hier die Eingabetaste drücke, siehst
du, dass 0,2 Kilogramm das
Gewicht des NM sind. Das ist also eine Lösung, die nur
mit Strnkencnation
und sonst nichts funktioniert nur
mit Strnkencnation
und Jetzt werden wir versuchen, die Punktformatmethode
für
die Zeichenfolge zu verwenden Punktformatmethode
für
die Also öffne ich wieder
die Druckfunktion. Und jetzt kann ich die
geschweiften Klammern als Platzhalter verwenden. Dies ist ein Ort, an dem ich etwas
einfügen möchte. An der ersten Stelle
möchte ich das Gewicht einfügen. Dann kommt wieder der
mittlere Teil der Saite. Kilogramm ist das Gewicht von, und jetzt werde ich
ein weiteres Paar
lockige Zahnspangen verwenden , in die ich das Tier einsetzen
werde Hier sollte Nim stehen, und dann kann ich dort einen Punkt setzen Und das ist sozusagen meine
Zeichenkettenvorlage, in die ich
diese beiden Variablen einfügen möchte , die ich zuvor finden muss Und das kann ich im
Punktformat machen. Auf dieser Saite ist das Kilogramm der geschweiften Zahnspange also das
Gewicht der Ich nenne das Punktformat. Und jetzt werde ich die beiden Variablen
, die ich in
die beiden Platzhalter einfügen möchte, hier weitergeben , die ich in
die beiden Platzhalter einfügen möchte, hier In die erste möchte ich Gewicht und dann Tier
eingeben Und es nimmt
das erste Argument und fügt es in den ersten Platzhalter ein und
dann das zweite Argument und dann das zweite Argument und fügt es in den
zweiten Platzhalter Wenn ich jetzt also die Klammern für
den
Druckaufruf schließe und dann die Eingabetaste drücke, dann können Sie sehen, dass ich
dieselbe Ausgabe wie zuvor erhalte So können Sie das also
mit der Punktformat-Methode machen mit der Punktformat-Methode Sie können sehen, dass es
dadurch
bereits besser lesbar ist als nur die
reine Zeichenkettenverkettung,
und es erspart Ihnen den
Aufwand, eine
explizite Typkonvertierung für
Objekte durchführen zu müssen , die keine Und jetzt wird meiner Meinung nach die F-String sogar noch etwas lesbarer
sein Also eröffne ich
wieder einen Call to Print. Und hier werde ich damit beginnen, F
einzugeben und dann die Zeichenfolge
zu öffnen , indem ich einfach
zwei Anführungszeichen setze. Und ich werde wieder den
Platzhalter für geschweifte Klammern verwenden. Aber anstatt es leer
zu lassen, werde
ich den
Variablennamen direkt eingeben Also werde ich Gewicht sagen, und dann ist der mittlere Teil
des String-Kilogramms
das Gewicht von Öffnen Sie einen weiteren Satz
lockiger Zahnspangen und geben Sie das Tier direkt
in die lockige Klammer ein, und dann eine Und das ist alles, was Sie für die
F-Saite tun müssen. Wenn ich jetzt Enter drücke, siehst
du das wieder, du bekommst die gleiche Ausgabe wie
in den beiden anderen Varianten. sind also drei verschiedene
Arten,
diese letzte Zeichenfolge zusammenzusetzen , die die Information
enthält, die sowohl eine Zeichenfolge, die NEM-Zeichenfolge, als auch die Zeichenkettendarstellung
einer Fließkommazahl In Ordnung,
so können Sie das machen. Lass mich wissen, welcher dein Favorit
ist.
37. Mit Benutzereingaben interagieren(): Um nützlich zu sein,
muss das
Programm normalerweise mit der Außenwelt kommunizieren indem es Eingabedaten
vom Benutzer erhält und dem Benutzer die
Ergebnisdaten anzeigt. Dieses Tutorial führt Sie die Python-Eingabe und -Ausgabe ein. Die Eingabe kann direkt vom Benutzer über die Tastatur oder aus einer externen Quelle
wie einer Datei oder Datenbank erfolgen. Ausgabe kann direkt
auf der Konsole oder der IDE auf
dem Bildschirm über eine
grafische Benutzeroberfläche
oder erneut auf einer externen Quelle angezeigt dem Bildschirm über eine
grafische Benutzeroberfläche werden. Programme müssen häufig Daten vom Benutzer
abrufen, in der Regel durch Eingabe
über die Tastatur. Der einfachste Weg
, dies
in Python zu erreichen , ist die Eingabe. Eingabe ist eine hervorragende
Funktion in Python und wird häufig in der Programmierung
verwendet. Es unterbricht Ihr Programm und wartet darauf, dass der Benutzer Text
eingibt Sobald Python
die Benutzereingabe empfängt, speichert
es sie in einer Variablen. Lassen Sie uns einige Beispiele anführen. Typ. Sobald der Benutzer
die Eingabetaste drückt, werden
alle eingegebenen Zeichen gelesen
und als Zeichenfolge zurückgegeben. Beachten Sie, dass die neue Zeile, die
generiert wird, wenn
der Benutzer die Eingabetaste drückt , nicht Teil
der Rückgabezeichenfolge ist. Wenn Sie das
optionale Argument prompt angeben, zeigt
Input es dem Benutzer als Aufforderung an, bevor
die rote Eingabe
unterbrochen Die Eingabefunktion
benötigt ein Argument. Die Anweisungen, die Sie dem Benutzer anzeigen möchten
. Dann sieht der Benutzer die Eingabeaufforderung mit Ihrem Namen und wartet, bis der Benutzer
seine
Antwort eingibt , und fährt fort nachdem der Benutzer die Eingabetaste gedrückt Die Antwort wird
in der variablen Nachricht gespeichert. Dann zeigt
die Nachricht die Eingabe des Benutzers an. ist es besser, am
Ende Ihrer Eingabeaufforderungen nach
dem Fragezeichen ein Leerzeichen
hinzuzufügen Ende Ihrer Eingabeaufforderungen nach
dem unserem Beispiel ist es besser, am
Ende Ihrer Eingabeaufforderungen nach
dem Fragezeichen ein Leerzeichen
hinzuzufügen, um die Aufforderung von der Antwort
des Benutzers zu trennen Außerdem verwende ich doppelte
Anführungszeichen, weil ich
es bereits im Text zitiert Lass uns jetzt
etwas anderes versuchen. Wir wollen eine Aufforderung schreiben,
die länger als eine Zeile ist. Auf der ersten Folie
wird der erste Teil der Nachricht mit
der
variablen Eingabeaufforderung gespeichert . In der zweiten Zeile werden der Operator die in
einer Eingabeaufforderung gespeicherte Zeichenfolge hinzugefügt und am Ende die
neue Zeichenfolge hinzugefügt. Der umgekehrte Schrägstrich N ändert die Zeile. Die Aufforderung wird dann
in einem Variablennamen gespeichert und diese Variable
an die Eingabefunktion übergeben Schließlich drucken wir den Text hoch, den Variablennamen
und die Phrase „ Mein Name ist Roboter“. Wenn Sie sich
die Codezeile genau ansehen, liegt
der Syntaxfehler an den Anführungszeichen. Ich habe mit doppelten Anführungszeichen geöffnet
und mit einfachen Anführungszeichen geschlossen. Lass mich das korrigieren. Großartig. Die Eingabe
gibt immer eine Zeichenfolge zurück. Wenn Sie einen numerischen Typ wünschen, müssen Sie die Zeichenfolge
mit den
integrierten Funktionen NT,
Float oder Complex in den entsprechenden
Typ
konvertieren mit den
integrierten Funktionen NT,
Float oder Complex in den entsprechenden
Typ . Diese Zeile konvertiert N in eine Ganzzahl, sodass die
Print-Anweisung erfolgreich ist Ich denke, Sie sind bereit, Benutzereingaben selbst
etwas genauer zu
untersuchen Hier sind ein paar
Wiederholungsübungen für dich. Versuchen Sie
, ein Programm zu schreiben,
das Eingaben vom Benutzer entgegennimmt und diese Eingaben dann wieder
anzeigt, so wie
Sie es bereits getan haben, aber ändern Sie es ein wenig. Versuchen Sie, ein Programm zu schreiben
, das Eingaben
vom Benutzer entgegennimmt und
diese Eingaben dann in Kleinbuchstaben anzeigt Versuchen Sie
, ein Programm zu schreiben,
das Eingaben des Benutzers entgegennimmt und dann
die Anzahl der Zeichen anzeigt, wobei die Zeichen
der eingegebenen Eingabe gezählt Wie immer
finden Sie die Lösungen für
diese Übungen und den Code in den Ressourcendateien
dieser Lektion Ordnung. Als Nächstes wirst
du anfangen,
mit Zeichenketten und Zahlen zu arbeiten.
38. ÜBUNG: Interagiere mit Benutzereingaben: In dieser Übung wagen
Sie sich in die Welt der Interaktion
mit Ihren Benutzern Und in diesem Fall sollten
Sie
ein Programm schreiben, das
Eingaben vom Benutzer entgegennimmt Eingaben
dann wieder anzeigt, sie
aber zuerst in Kleinbuchstaben umwandelt Wenn der Benutzer also Hallo in
Groß- oder Kleinschreibung schreibt , sollte
er es immer in Kleinbuchstaben zurückgeben, egal was er dort eingibt. Dann gibt es noch eine zusätzliche
kleine Aufgabe, bei der Sie
auch die Anzahl der
Zeichen anzeigen können , die der Benutzer eingegeben Okay. Denk darüber nach. Nehmen Sie sich einen Moment Zeit, schreiben Sie es in Ihrem Editor oder in der REPL auf, fahren Sie dann der nächsten Lektion fort und
vergleichen Sie es mit meiner Lösung
39. LÖSUNG: Interagieren mit Benutzereingaben: Um diese Übung zu lösen, müssen
Sie die Eingabefunktion in Python verwenden, um die Benutzereingaben zu sammeln, und dann einige
Zeichenkettenmethoden, um sie zu konvertieren. Und dann gibt es noch
eine Funktion namens n , mit
der Sie die Länge der Zeichenketten ermitteln können. Ich könnte das jetzt
hier in Idle machen, und ich werde
wahrscheinlich ein bisschen experimentieren. Aber ich habe auch
eine Datei geöffnet , in der ich den Code
schreiben werde, damit ich ihn um ein Vielfaches
einfacher ausführen
kann , ohne ihn jedes Mal
eingeben zu müssen. Das gibt mir die Möglichkeit, tatsächlich auch
zu testen und zu sehen, ob
mein Skript funktioniert, nicht nur für eine Eingabe, sondern für die wiederholten
verschiedenen Eingaben. Also werde ich
den Code in das Skript schreiben, aber du kannst ihn auch
über REPL schreiben, wenn du willst Dies sind die drei Aufgaben
, die mein Skript erledigen sollte. Ich fange
mit Nummer eins an, wo ich hier Eingaben mit
einer kleinen Eingabeaufforderung verwende. Die Eingabeaufforderung wird
sagen, geben Sie etwas ein. Und ich füge dieses Leerzeichen hier hinzu
, um es ein bisschen schöner zu formatieren. Dann muss ich
das Ergebnis sammeln. Also, wenn ich nur solche
Eingaben ausführe, lass es uns
hier in der REPL ausprobieren Ich erhalte die Aufforderung,
etwas einzugeben. Und ich kann Hallo sagen und es wird zurückgegeben. Aber in meinem Drehbuch sammle ich es
derzeit weder irgendwo noch hier
in der Idol-Shell Ich habe es nirgends gesammelt, also muss ich es
einer Variablen zuweisen, damit ich dann etwas damit
machen kann, zum einer Variablen zuweisen, damit ich dann etwas damit
machen kann, Beispiel es klein schreiben und
es anzeigen und seine
Länge ermitteln usw. Also zurück in meinem Editor in
Zeile eins, werde ich sagen, dass Benutzereingaben durch
Unterstriche dem Zurückgeben von Aufrufen von Eingaben entsprechen und was auch immer
der Benutzer dann dort
eingibt Und dann möchte ich es in
Kleinbuchstaben umwandeln und anzeigen.
Fangen wir also damit an Ich werde die
Druckfunktion verwenden, indem ich print eintippe, die Klammern öffne
und dann den Benutzerunterstrich mit
einem niedrigeren Punkt
einfüge Das ist also nur die Methode für eine Zeichenfolge mit einem
niedrigeren Punkt , die
Sie bereits einige
Male verwendet haben und die Sie dem Benutzer mithilfe
der Druckfunktion
wieder anzeigen dem Benutzer mithilfe
der Druckfunktion
wieder Ich werde dieses Skript testen,
indem ich es im Leerlauf ausführe. Sie können F 5 drücken, um es auszuführen , zu
speichern und auszuführen.
Also werden wir das tun. Wir können hier drüben sehen, ich werde
aufgefordert, etwas einzugeben. Ich werde erneut versuchen, Hallo in Großbuchstaben zu
sagen.
Sie können sehen, dass
mein Skript funktioniert. Ich erhalte dieselbe Zeichenfolge zurück, aber in Kleinbuchstaben.
Ein weiterer Vorteil
eines Skripts besteht darin, dass ich es einfach erneut ausführen
kann ohne etwas anderes
eingeben zu müssen Ich erhalte eine weitere Aufforderung und kann
Groß- und Kleinschreibung ausprobieren. Hallo. Und wieder
bekomme ich es einfach in Kleinbuchstaben zurück Also das funktioniert. Jetzt werde ich die
Aufgabe in Zeile drei lösen und auch die Länge
der Eingabe
ausdrucken. Dafür kann ich einfach die Len-Funktion
verwenden. Die Funktion len funktioniert so, dass sie eine
Sammlung aufnimmt, zum Beispiel eine Zeichenfolge, und dann einfach die Anzahl der
Elemente in dieser Sammlung
zurückgibt. Wenn ich
hier also eine Zeichenfolge einfüge und sage, hallo, erhalte ich fünf zurück, was der Anzahl
der Zeichen entspricht. Eins, zwei, drei, vier, fünf. Also das ist genau das, was ich will. Und zurück in meinem Drehbuch werde
ich Print sagen. Öffne die Klammern und dann sage ich Len ,
weil
ich das ausdrucken möchte N als Argument, ich werde Benutzereingaben weitergeben Beachten Sie, dass die
Benutzereingabe, die ich hier
übergebe, tatsächlich
die ursprüngliche ist. Es ist also nicht der Kleinbuchstabe, aber es spielt keine Rolle,
da
ein niedrigerer Punkt die Anzahl der Zeichen nicht ändert Es wird
es wirklich nur klein schreiben. Sowohl die
Version in Kleinbuchstaben als auch unabhängig von
der vom Benutzer eingegebenen Version
werden also der vom Benutzer eingegebenen Version dieselbe
Anzahl von Zeichen haben Und jetzt werde ich das
Skript erneut testen, indem ich es ausführe. Speichern und ausführen. Tippe etwas ein. Ich weiß bereits, dass
Hallo fünf hat, also verwenden wir das und die
Art Hallo in gemischter Groß- und Kleinschreibung. Drücken Sie die Eingabetaste. Und als Ausgabe erhalte
ich die Kleinbuchstabenversion
dieser Zeichenfolge und die Anzahl der
Zeichen in dieser Zeichenfolge Großartig. Das löst
alle drei Aufgaben hier.
40. Arbeiten mit Strings und Zahlen: Sie nun ein wenig
mit Benutzereingaben gearbeitet haben, lassen Sie uns über die Arbeit
mit Zeichenfolgen und Zahlen sprechen. Wenn Sie Benutzereingaben
mithilfe der integrierten
Eingabefunktion erhalten , ist
das Ergebnis immer eine Zeichenfolge. Es gibt viele andere
Situationen, in denen die Eingabe als Zeichenfolge an ein
Programm übergeben wird. Manchmal
enthalten diese Zeichenketten Zahlen, und sie müssen in Berechnungen
eingespeist werden. In dieser Lektion lernen
Sie, wie Sie mit Zahlenfolgen
umgehen. Außerdem erfahren Sie, wie arithmetische Operationen mit
Zeichenketten funktionieren und wie sie oft zu überraschenden
Ergebnissen führen Dann lernst du, wie man
zwischen Zeichenketten
und Zahlentypen konvertiert zwischen Zeichenketten
und Zahlentypen Fangen wir im
interaktiven Fenster an. Probiere das aus. Ich lasse dich eine Variable namens Num
erstellen. Dann weise ich ihr die Zeichenfolge
mit der Zahl zwei zu. Das ist also Num mit einem
String-Literal mit zwei darin. Was ist, wenn Sie die
Plus-Operation verwenden und Num plus Num sagen? Was macht das? Sie
haben vielleicht schon darüber nachgedacht, dass es sie miteinander
verketten wird. Es ist nicht gleich vier, sondern zwei und zwei, was Nun, die Zeichenfolge
22, nicht die Zahl. Wenn Sie NUM nehmen und
den Asterix, den
Multiplikationsoperator
, verwenden und sagen: Okay, multiplizieren Sie das mit fünf Nun, das sollte zehn ergeben,
oder? Nun, in diesem Fall
wird es eine
Zeichenfolge erzeugen, in der die Zahl zwei fünfmal
wiederholt wird. Sie erhalten also eine Reihe
von fünf Zweien, zusammen verketten Wenn Sie die Zeichenketten mit
arithmetischen Operatoren verwenden, können Sie
jetzt feststellen,
dass sie sich
etwas anders verhält, als Sie vielleicht gedacht etwas Der Plus-Operator kann
zwei Zeichenketten aneinanderreihen , wie
Sie es zuvor geübt haben, und der Asterix- oder
Sternmultiplikationsoperator und der Asterix- oder
Sternmultiplikationsoperator erzeugt mehrere Kopien einer Zeichenfolge. Und es spielt keine Rolle,
ob sich die Zahl auf rechten oder
linken Seite des
Ausdrucks befindet Angenommen, Sie waren sieben Mal taub, aber
es sieht NUM immer noch als Zeichenfolge, und sieben ist einfach die
Häufigkeit, mit der die Zahl innerhalb von
Num , die Zeichenfolge,
die sich in Num befindet, miteinander
verkettet ist Du machst es tatsächlich mit
anderen Dingen, oder? Du könntest fünfmal Hallo sagen. Eine Sache, die Sie tun können, ist, sagen
wir, Sie haben die Zwölferfolge multipliziert mit der
Dreierfolge gesagt multipliziert mit der
Dreierfolge Dann geben wir
Ihnen einen Tippfehler. Sie können diese
beiden nicht miteinander multiplizieren , da
es heißt, dass Sie eine
Sequenz vom Typ Zeichenfolge nicht multiplizieren
können. Die Sequenz, von der hier die
Rede ist, ist die
Zeichenfolge Eins, Zwei
, also Rede ist, ist die
Zeichenfolge Eins, Zwei
, eine Folge
von zwei Zeichen,
und dann wird versucht, sie mit drei zu
multiplizieren, was eine Zeichenfolge ist, die keine Ganzzahl ist. Also das funktioniert nicht. Es löst
einen Typfehler aus. Und was wäre, wenn Sie
die Reihe von Drei nehmen und versuchen würden, sie von selbst
zur Zahl Drei zu addieren? Gibt eine andere Art
von Typfehler an. Es besagt, dass Sie nur eine Zeichenfolge
verketten können,
keine Ganzzahl zu einer Zeichenfolge Wenn ein Objekt auf beiden Seiten
des Pluszeichens eine Zeichenfolge ist, versucht Python, eine
Zeichenkettenverkettung durchzuführen Es funktioniert nur
zusätzlich, wenn es sich bei beiden
Objekten Sie müssten die Zeichenfolge
drei zuerst in eine Zahl
umwandeln, bevor
Sie sie zu drei addieren könnten. Schauen wir uns an, wie das geht. Was machst du also mit all diesen Zeichenketten, von denen du es vorziehen
würdest, Zahlen zu sein? Sie werden dafür einige
eingebaute Funktionen verwenden. Die INT-Funktion
konvertiert Objekte in ganze Zahlen oder wird
auch als Ganzzahl bezeichnet Manchmal
möchten Sie, dass Objekte
in Zahlen umgewandelt werden , die tatsächlich Dezimalstellen
haben In diesem Fall sollten Sie die integrierte Float-Funktion
verwenden. Lass uns diese ausprobieren.
Um dies zu testen, kehren Sie zu Idle zurück und erstellen eine neue Datei. Sie können das
Pulldown-Menü von Datei und Neu verwenden oder Sie können
den Tastenbefehl
Befehlstaste+N oder
Strg+N unter Windows verwenden
, um ein Bearbeitungsfenster zu öffnen. Hier im Bearbeitungsfenster erstellen
wir ein Num-Objekt. Und es akzeptiert die
Eingabe eines Benutzers. Und das ist die Aufforderung. Sie sagen, geben Sie eine
Zahl ein, die verdoppelt werden soll. Schließ das. Also
wird die eingebaute Eingabefunktion dazu auffordern, und dann wird
der Wert, der eingegeben wurde, der Variablen
NUM zugewiesen. Um dann eine doppelte Zahl zu erzeugen,
werden Sie sagen, dass NUM
mit zwei multipliziert wird. Dann die Druckausgabe. Großartig. Mach weiter und speichere das. Ich nenne es Double
oder Double Dot Pi. Und nochmal, speichere
es einfach auf meinem Desktop. Wenn Sie in diesem Fall
F 5 drücken, um es hier zu wiederholen, Sie nach einer
Zahl gefragt, die verdoppelt werden soll. Und ich werde sagen: Oh, sechs, bitte. Oh, siehst du meinen Fehler? Ich habe hier eine Variable mit
dem falschen Namen erstellt. Ich habe nicht wieder den
richtigen Namen verwendet, also muss ich
ihn entweder hier oder dort ändern. Also werde ich ihn hier oder dort ändern und speichern. Also ein kleines
Problem mit dem Namensfehler. Also gut. Jetzt, wo ich es gespeichert habe, können
wir es erneut ausführen. Okay. Diesmal kann
ich jetzt sechs eingeben. Anstatt sechs
mal zwei von 12 zu bekommen, kriege ich 66. Also sechs und sechs, weil es das für zwei Saiten
macht. Also müssen wir
herausfinden, wie wir das ändern können. Öffne
hier ein neues Shell-Fenster , um die
Dinge ein bisschen aufzuräumen. Du kannst in deinem weitermachen. Ich möchte nur nicht so
viel auf der Unterseite tippen müssen. Also, wie kannst du damit arbeiten? Also, wir hatten es vorhin mit
der Nummer sechs zu tun. Was Sie auch hier tun können, anstatt nur mit
der Zahl Sechs allein als
Zeichenfolge zu arbeiten , ist, dass Sie
eine Zeichenfolge wie Sechs
in eine Ganzzahl umwandeln können . Und Sie können sehen, dass INT das hier in einen tatsächlichen
Zahlenwert von sechs
umwandelt. Es hat keine
Anführungszeichen wie bei
einem Zeichenkettenliteral INT steht für Integer und wandelt Objekte in ganze Zahlen um, wohingegen Float sie
in eine Zahl mit
Dezimalkomma umwandelt eine Zahl mit
Dezimalkomma Wenn ich also Float
für sechs verwenden würde, würden Sie 6.0 sehen. Okay, also was müssen wir tun? Nun, was wir
tun können, ist es
hier umzurechnen und INT für die Zahl zu sagen. Das ist eine Lösung. Lass es uns ausprobieren. Also habe ich es
gerade nochmal gespeichert. Wenn ich F 5 drücke, um es auszuführen, Oh, dieses Mal
sagen wir 12. Großartig. Dort ist 12
multipliziert mit zwei 24. Aber was wäre, wenn ich 2,5 eingeben wollte, ich weiß nicht Nun, dann
müsste es schwimmend sein. Und es wäre nicht schlecht, wenn
das 12 Punkte wären. Also vielleicht wäre es sicherer, je nachdem, was
wir eingeben wollen. Etwas flexibler
, stattdessen Float zu verwenden. Also mache ich das und lass es uns nach dem Speichern ausführen. Also, wenn ich, wie
gesagt, 2,5 eingeben würde, Hoppla. Ich habe vergessen, den
INT hier so zu ändern, dass er schwebt. Hast du meinen Fehler bemerkt? Ja. Lassen Sie uns jetzt
noch einmal in Typ 2.5 laufen. Ich sage 5.0. Oder selbst wenn ich es erneut
ausführen und 12 Punkt oh oder
sogar 12 von alleine eingeben würde, wird
es
als Fließkomma zurückgegeben. Warum haben wir Float
statt INT verwendet? Wenn Sie der eingebauten INT-Funktion etwas geben
, das nicht in der Basis Zehn steht, wie wenn Sie 2,5 sagen würden, wird
sie ein bisschen wütend. Es besagt, dass das ein
ungültiges Literal für INT mit dieser
Anforderung der Basis zehn Also, selbst wenn Sie 12 Punkt oh sagen würden, erhalten
Sie dieselbe Art von Fehler Float bietet Ihnen also
viel mehr Flexibilität, je nachdem, welche Zeichenfolge
Sie eingeben. Manchmal müssen Sie
eine Zahl in eine Zeichenfolge umwandeln. Um das umgekehrt zu machen, gibt es auch eine Funktion dafür. Lassen Sie mich Ihnen ein Beispiel geben. Nehmen wir an, wir führen wieder eine Verkettung durch. Nehmen wir an, wir haben eine Variable
namens Anzahl Äpfel, und sie ist Du bist super hungrig und sagst, ich werde essen. Dann verkette die Anzahl der
Äpfel zu einer anderen Zeichenfolge
, in der Äpfel Drucken Sie das automatisch
aus und fügen Sie die Zahl ein. Nun, Sie können nur eine Zeichenfolge,
keine Ganzzahl, zu einer Zeichenfolge
verketten keine Ganzzahl, zu einer Da die Variable num
apples eine Zahl ist, kann
Python
sie nicht mit der anderen Zeichenfolge verketten Sie müssen die Ganzzahl Num
Apples in eine Zeichenfolge umwandeln, und hier verwenden wir
die eingebaute Genau wie INT und float gibt es eine eingebaute Funktion STR , die eine
String-Version eines Objekts zurückgibt. Und hier können Sie die eingebaute
STR-Funktion
hinzufügen , die
ein Objekt nimmt und
es in eine Zeichenfolge umwandelt. Großartig. Mal sehen, ob das funktioniert. Jep. Das funktioniert super Was ziemlich cool ist, ist, dass die
eingebaute STR-Funktion
tatsächlich
arithmetische Ausdrücke
direkt darin verarbeiten kann tatsächlich
arithmetische Ausdrücke
direkt darin verarbeiten direkt darin Nehmen wir an, Sie hatten
insgesamt vier Äpfel. Und so viele hast
du
bisher gegessen, also zwei. Also haben wir zwei Variablen zugewiesen, Gesamtzahl der Äpfel der Ganzzahl Vier und die verzehrten
Äpfel der Ganzzahl Zwei. Und Sie möchten
eine Zeichenfolge erstellen, die besagt, dass nur Leerzeichen verketten können Und dieses Mal
konvertieren Sie in eine Zeichenfolge. Und Sie
sagen die Gesamtzahl der Äpfel
minus die Äpfel , die gegessen
wurden, und das gegessen
wurden, und , um die Anzahl der übrig
gebliebenen Äpfel I Also es kann diese Subtraktion
genau da drinnen
machen Schauen wir uns einige
zusätzliche Übungen
an mit denen Sie üben können. Übung eins. Erstellen Sie eine Zeichenfolge,
die eine Ganzzahl enthält, konvertieren Sie diese Zeichenfolge
dann mithilfe
der integrierten INT-Funktion in
eine tatsächliche Ganzzahl. Testen Sie, ob Ihr neues
Objekt eine Zahl indem Sie es mit einer
anderen Zahl multiplizieren und
das Ergebnis Übung zwei. Probieren Sie die
vorherige Übung erneut aus, verwenden Sie
jedoch eine Fließkommazahl und die integrierte Gleitkommafunktion. Übung drei. Versuchen Sie, ein String-Objekt
und ein Integer-Objekt zu erstellen. Zeigen Sie sie dann mit
der String-Funktion Seite an Seite mit
einem einzigen Ausdruck an. Übung vier. Okay. In diesem Fall verwenden Sie
die Eingabe
zweimal, um zwei verschiedene
Zahlen von einem Benutzer zu erhalten, multiplizieren die Zahlen
dann miteinander und zeigen das Ergebnis an. Der Ausdruck sollte
ungefähr so aussehen. Die Lösungen für
diese Übungen
und den Code finden Sie in den
Ressourcendateien dieser Lektion Als Nächstes
werden Sie lernen, wie
Sie Ihre
Druckfunktion optimieren können
41. ÜBUNG: Mit Strings und Zahlen arbeiten: Und Sie werden mit
einigen weiteren Eingabeübungen fortfahren. Diese Methode heißt Arbeiten
mit Zeichenketten und Zahlen. Schreiben Sie ein Programm, das die
Eingabefunktion zweimal verwendet , um
zwei Zahlen vom Benutzer zu erhalten, die Zahlen miteinander zu
multiplizieren
und das Ergebnis anzuzeigen Wenn der Benutzer
beispielsweise zwei und vier eingibt,
sollte die neue Eingabe den folgenden Text drucken Das Produkt von Zwei und
Vier ergibt acht Punkt Null. Was Sie hier sehen können,
ist, dass das Ergebnis als
Fließkommazahl angezeigt werden
sollte. Und denken Sie dann daran, dass die Eingabefunktion immer eine Zeichenfolge
erstellt, mit der Sie bestimmte Zeichenketten mithilfe der Funktionen int
und Float in tatsächliche Zahlen
umwandeln können, und dass Sie mit der
Zeichenkettenfunktion STR Zahlen in
Zeichenketten konvertieren können . Sie
müssen also Benutzereingaben sammeln, dann die Konvertierung eingeben und dann auch ein bisschen rechnen und
sie dem Benutzer anzeigen. Probieren Sie es selbst aus,
und wenn Sie möchten, können
Sie sich dann die nächste Lektion ansehen,
in der ich die Aufgabe lösen werde.
42. LÖSUNG: Mit Strings und Zahlen arbeiten: Ich habe eine
neue Datei geöffnet und ein paar Notizen
für die Anweisungen
aufgeschrieben . Ich möchte zwei
Zahlen vom Benutzer erhalten, sie
multiplizieren und dann das Ergebnis
anzeigen. Das sind die Dinge, die ich bei dieser Multiplikation
machen möchte. Da ist tatsächlich
noch ein weiterer Schritt drin. Ich werde sie auch in Zahlen
umwandeln wollen. Ich kann das also irgendwann machen, aber ich muss es tun,
bevor ich sie multipliziere. Und das liegt daran, dass man zwei
Zeichenketten nicht wirklich miteinander multiplizieren kann. Das wird
einfach ein Fehler sein. Also springe ich rüber zur REPL,
nur um dir das zu zeigen. Wenn ich zwei Zeichenketten habe und versuche, sie miteinander
zu multiplizieren, erhalte
ich einen Typfehler,
dass Python
Sequenzen nicht mit
Non-Int vom Typ string multiplizieren kann . Das ist eine gut
beschreibende Nachricht , die mir nur sagt,
dass das nicht funktioniert Aber wenn Sie Benutzereingaben
sammeln, wird
es immer eine Zeichenfolge sein, auch wenn der Benutzer eine
Zahl eingibt. Probiere das auch aus. Also werde ich den
Rückgabewert der Eingabe
A zuweisen . Ich werde hier nur
eine leere Eingabeaufforderung geben. Also die Aufforderung, sie fordert mich jetzt
auf, etwas einzugeben Wenn ich hier vier eingebe. Ich denke also, dass
ich eine Zahl eingebe. Was ich als Ergebnis erhalte,
ist immer noch eine Zeichenfolge. Wie Sie sehen können, ist
es eine Klasse STR. Es sieht so aus. Wenn
Sie also Benutzereingaben sammeln, werden
sie immer als Zeichenfolge
ankommen. Und wenn Sie dann versuchen, zwei Zeichenketten miteinander zu multiplizieren, werden
Sie auf einen Fehler
stoßen. Aber
nebenbei gibt es ein bisschen Spaß. Wenn Sie ein anderes
Programm mit
einer festen Ganzzahl hätten, mit der Sie die Benutzereingabe
multiplizieren, sagen
wir, dann könnten Sie, wenn Sie hier keine Typkonvertierung
durchführen, auf eine Ausgabe stoßen,
die Sie vielleicht nicht erwarten Wir haben eine, die auf vier
hindeutet, richtig? Und nehmen wir an, das
Programm multipliziert die Eingabe eines Benutzers mit 20, richtig? In diesem Fall erhalten Sie also eine
Verkettung von Zeichenketten. Python verkettet die
Eingabezeichenfolge 20 Mal. Sie erhalten also 20 Vieren
als Ausgabe,
was ein seltsames
Rechenergebnis
wäre, wenn man vier was ein seltsames
Rechenergebnis
wäre macht Um das zu vermeiden,
müssen Sie es also explizit konvertieren. Sie könnten zum Beispiel A
in eine Ganzzahl umwandeln und
dann die Multiplikation durchführen, und das funktioniert, oder? Das funktioniert richtig und
Mathe macht wieder Sinn. Das ist nur, um zu
bedenken, dass
Sie diese Zahlen umrechnen müssen. Lassen Sie uns damit beginnen, die beiden
Zahlen vom Benutzer zu
sammeln. Kehren wir zu unserem Editor zurück
und fahren wir mit Zeile zwei fort. Buchstabe A ist eingegeben. Öffnen Sie nun Klammern in
doppelten Anführungszeichen und geben Sie ein. Geben Sie eine Zahl ein. Geben Sie ihnen eine Aufforderung, die Zahl etwas lesbarer zu machen
, und
wiederholen Sie dann dasselbe für eine andere Zahl. Ich würde sagen, B ist Eingabe. Geben Sie dann ein, geben Sie eine andere Zahl ein. Dann möchte ich sie in
Zahlen umwandeln, damit ich sie multiplizieren
kann. Ich mache es in einem Schritt. Also werde ich in Floats umwandeln,
weil
ich in der Ausgabe Floats haben möchte Das heißt also, sowohl A als auch B explizit
in
Fließkommazahlen umzuwandeln und diese dann einer
Variablen namens product
zuzuweisen Hier mache ich die
Konvertierung und
die Multiplikation in einem Schritt Und dann muss
ich endlich das Ergebnis anzeigen. Ich werde das einfach
mit der Verkettung von Zeichenketten machen, was, wie Sie sehen werden, ziemlich lang werden
wird Sie sind wahrscheinlich
schon auf
einen besseren Weg gestoßen einen besseren Weg Aber vorerst bleiben wir
einfach bei der Verkettung von
Zeichenketten, weil ich Ihnen auch etwas zeigen
möchte , das der
Multiplikation ähnelt und mit zwei Zeichenketten nicht
funktioniert Sie können keine Verkettung durchführen wenn Um also diese Nachricht,
das Produkt von hier, anzeigen
zu können, kannst
du einfach die
Variable verwenden, die ich
gesammelt habe, weil A eine Zeichenfolge
ist Ich wandle es nur bei
der Multiplikation in eine
Fließkommazahl um A zeigt also immer noch auf die
ursprünglich eingegebene Zeichenfolge. Ich kann also sagen, das
Produkt von A und B ist Und wenn ich das Produkt
hier einfach ohne Konvertierung hinzufüge, würde
ich wieder auf einen Fehler stoßen. Lass uns das
auf der Konsole ausprobieren. Also hier versuche ich eine Zeichenfolge und
eine Fließkommazahl
zu verketten Also ist es hier drüben markiert. Ich sage: A, das ist meine Zeichenkette plus eine
Fließkommazahl, 0,2. Und Sie können sehen
, dass Python erneut einen Typfehler
ausgibt, in dem
es Ihnen sagt, dass es
nur Zeichenketten zu
Zeichenketten verketten kann ausgibt, in dem
es Ihnen sagt, dass es
nur Zeichenketten zu
Zeichenketten verketten und keinen
Float zu einer Zeichenfolge Um also
Produkt in die Zeichenfolge einfügen zu können , die
Sie hier verketten, müssen Sie es explizit in eine Zeichenfolge
konvertieren, indem
Sie
die STR-Funktion verwenden und Damit wird es klappen. Und Sie können auch weiterhin eine weitere Zeichenfolge
hinzufügen, was in diesem Fall nur ein Punkt
ist. In Ordnung. Also das ist ein sehr,
sehr langer Weg, diese Nachricht
zusammenzustellen, im Grunde nur mit
Zeichenkettenverkettung Aber lassen Sie uns es versuchen
und sehen, ob es funktioniert. Ich speichere und starte es. Geben Sie Nummer zwei ein, geben Sie
eine weitere Zahl vier ein, und das Produkt aus
zwei und vier ist 8,0. Ich erhalte also die
erwartete Ausgabe. Das Ergebnis der Eingabe sieht aus wie eine
Fließkommazahl. Aber hier im Print-Aufruf konvertieren
Sie es
in eine Zeichenfolge, bevor es
mit anderen Teilen
der Zeichenfolge, die
Sie zusammenstellen,
verketten der Zeichenfolge, die
Sie zusammenstellen, Wenn Sie das Punktformat
oder eine F-Zeichenfolge für
die endgültige Nachricht verwendet haben , ist
das auch ein guter Weg Wenn Sie also bis jetzt mit der
Verkettung von Zeichenketten nicht weiterkommen, haben Sie die Möglichkeit, etwas Neues
auszuprobieren
43. Print() Formatierungsmethoden: Hallo zusammen und
willkommen zurück zum Kurs. In dieser Lektion werde ich
etwas mehr Zeit damit verbringen, Zeichenketten zu formatieren ,
sodass Sie
kompliziertere Nachrichten
innerhalb Ihrer Druckfunktion erstellen können . Zunächst können Sie
zwei Zeichenketten zusammenfassen, um eine dritte zu
erstellen. Hello plus world würde einer dritten Zeichenfolge
namens Hello World
führen. In Python muss man etwas
vorsichtig sein. Dadurch wird die Zeichenfolge nicht wirklich
bearbeitet. Es erstellt eine dritte
brandneue Zeichenfolge. Dadurch kann die
Bearbeitung von Zeichenketten
etwas speicherintensiv
und leistungsschwach werden. Im Laufe der Jahre hat Python
verschiedene Möglichkeiten zur
Manipulation von Zeichenketten hinzugefügt verschiedene Möglichkeiten zur
Manipulation von Zeichenketten Die erste Methode ähnelt C und
unterstützt die Prozent-Notation Die zweite enthält Platzhalter
mit geschweiften Klammern, und die dritte, die
relativ neu ist, ist eine F-Zeichenfolge Wir haben
diese drei Methoden bereits besprochen als wir etwas über Zeichenketten gelernt haben Jetzt zeige ich Ihnen, wie Sie
diese Formatierungsmethoden
in die Druckfunktion einbetten können. Im Allgemeinen wird empfohlen, die F-Zeichenfolge
so oft wie möglich zu verwenden, aber es gibt immer noch
einige Fälle, in denen C-Stil wichtiger sein könnte. Ich zeige Ihnen jetzt, wie Sie diese
beiden im Terminal verwenden . Ich werde damit beginnen, hier ein paar Variablen zu
erstellen. Vorname. Nachname, Alter. Und das erste
Formatierungsbeispiel ist Prozent S. Der Prozentsatz wie in dieser Zeichenfolge ist
ein Platzhalter dafür , wo der Inhalt eingefügt
werden soll Die Prozentzahl am Ende der
Zeichenfolge gibt an, was eingefügt werden soll. In diesem Fall wird der Wert der Nachnamen
in die Zeichenfolge eingefügt Sie können mehrere
Prozent in ein Format einfügen. Um das zu tun
, müssen Sie der Zeichenfolge
statt
eines einzelnen Werts ein Turple übergeben Zeichenfolge
statt
eines einzelnen Werts ein Turple Beachten Sie, dass Sie, wenn Sie den Nachnamen zweimal
verwenden möchten, die 2% S verwenden müssen, einen für jede Instanz
des Nachnamens und die Variable zweimal innerhalb der Tupel Prozent S besagt, dass Sie eine Zeichenfolge eingeben werden Prozent D besagt, dass Sie eine Ganzzahl eingeben
werden. Prozent F steht für Gleitkommazahlen. Geben Sie ein Die Zahl wurde um 3,14 gekürzt. Warum ist das so? Lass es uns hier erklären. Die erste Zahl ist die
Gesamtzahl
der Ziffern, die die
Zeichenfolge mindestens enthalten sollte. Die Zahl danach ist die Dezimalzahl. Es steht für, wie viele Zahlen nach dem Komma angezeigt werden sollen? Deshalb ist das Ergebnis 3,14. Wenn ich das also auf drei
ändern würde, würde
es 142 anzeigen Wenn ich daraus eine große
Zahl mache, zum Beispiel acht, werden
die restlichen
Zahlen mit Nullen gefüllt die restlichen
Zahlen mit Nullen Jetzt ändern wir
die erste Zahl. Sagen wir 20 und
führen das Programm aus. Beachten Sie, wie wir ein
paar Leerzeichen füllen. Erinnern wir uns nun daran
, wie man in eine Zeichenfolge konvertiert. Wir könnten auch ein
Prozentzeichen R verwenden, das dasselbe
mit dem Prozentzeichen S macht. Lassen Sie uns ein weiteres Beispiel mit
mehreren Prozentzeichen machen. Python wird sie der Reihe nach ordnen. Die erste Prozentseite wird dem ersten Element
zugewiesen, und das zweite Prozentzeichen wird
dem zweiten Element zugewiesen. Okay, jetzt machen wir
dasselbe Beispiel mit dem zweiten Formatmethodentyp. Und ich werde hier
geschweifte Klammern verwenden und eine beliebige
Variablenebene angeben Zum Beispiel schließt X
mit Anführungszeichen und dann mit einem Punkt und ruft die
Formatmethode für diese Zeichenfolge auf Dann die Variable X und
mein Name als Zeichenfolge. Nett. Lassen Sie uns diesen Code ändern den folgenden Satz
und eine zweite Variablenbezeichnung
hinzufügen. Warum zum Beispiel? Python drei führte das
Konzept einer F-String ein. Das F vor der Zeichenfolge zeigt an, dass es sich um
eine Formatierungszeichenfolge handelt. Geschweifte Klammern geben nun an
, wo die Injektion platziert werden soll. Dies entspricht
dem ersten Beispiel. Ich finde diesen Mechanismus
viel einfacher zu lesen, besonders wenn Sie mehrere Variablen
haben. Formatzeichenfolgen
unterstützen die Berechnung. Sie unterstützen auch die Formatierung. Lassen Sie uns ein neues Shell-Fenster öffnen und das erste Modul math
importieren, das erste Modul math
importieren, das Zugriff auf
mathematische Funktionen bietet. Innerhalb der geschweiften Klammern setzen
Sie einen Doppelpunkt, der auf
Ihren Formatierungsmechanismus hinweist Ups, ich habe vergessen,
die Variable Alter zu definieren. Die 0,2 F sind den obigen 0,2 F
ähnlich, was uns das Alter von Alan
Turing mal
Pi auf zwei signifikante Stellen ergibt Pi auf zwei signifikante Stellen Großartig. Nehmen Sie sich Zeit und schauen
Sie sich
die Vorlesung genau an. Wenn Sie Fragen haben, stellen Sie diese
bitte
im Q&A-Diskussionsforum.
Danke fürs Zuschauen
44. Einen String in einem String finden: Sie nun
herausgefunden haben, wie Ihre Ausdrucke
mit F-Strings
optimieren können, ist
es wichtig, eine
Zeichenfolge innerhalb einer Zeichenfolge zu finden Eine der nützlichsten
Zeichenkettenmethoden ist Find. Wie der Name schon sagt, können Sie mit
dieser Methode die Position einer Zeichenfolge
innerhalb einer anderen Zeichenfolge ermitteln, üblicherweise als Teilzeichenfolge bezeichnet wird Um Find zu verwenden, fügen Sie es an das Ende einer
Variablen oder eines
Zeichenkettenliterals an, wobei die
Zeichenfolge , nach der Sie
suchen möchten, zwischen den Klammern eingegeben wird Der Wert, den Find
zurückgibt, ist ein Index des ersten Vorkommens der Zeichenfolge, die Sie an Find
übergeben Schauen wir uns das
im interaktiven Fenster an. Lass uns mit einem Satz beginnen. Die variable Phrase
wird also dem String-Literal
zugewiesen Der Feueralarm piept ständig. Wenn Sie
statt der Klammern
die Fine-Methode verwenden würden , wählen
Sie aus, nach welcher Teilzeichenfolge Sie innerhalb der Zeichenfolge
suchen In diesem Fall sagen
wir also, suchen Sie nach Feuer. Lass uns tippen. Satz bei finden, Feuer in doppelten Anführungszeichen, runde Klammern
schließen Es gibt den Index des ersten Vorkommens
der
Teilzeichenfolge innerhalb der Zeichenfolge zurück In diesem Fall ist es also
der vierte Indexpunkt. Also hier sind Null, Eins,
Zwei, Drei, Vier. Ich weiß, dass das die fünfte
Position ist, aber ich
beginne wieder bei Null, Null, Eins, Zwei, Drei, Vier. Da fängt das an. Toll. Was ist, wenn die Teilzeichenfolge nicht in der Zeichenfolge existiert? Geben wir die Phrase Punkt
Find in ein zufälliges Wort ein. Sie erhalten eine negative
Eins zurück,
was bedeutet, dass es nicht gefunden wurde. Als Hinweis: Vergessen Sie nicht, dass es voraussetzt, dass
die Groß- und Kleinschreibung übereinstimmt. Also wenn ich ihm ein F für Feuer gebe, es einen negativen Wert zurück. Versuchen wir es mit einem anderen Beispiel. Ich nenne es einen neuen Satz. Und es wird so sein, als würde ich eine Zeichenfolge
in deine Zeichenfolge einfügen. In diesem speziellen Fall, wenn Sie sagen, dass eine neue
Phrase nicht gefunden wird, was erhalten Sie, wenn
Sie eine Zeichenfolge eingeben? In diesem Fall ist es also nur
das erste Vorkommen. Das zweite wurde nicht zurückgegeben
. Dadurch wird nur der Index
des ersten Vorkommens zurückgegeben, beginnend mit dem
Anfang der Zeichenfolge. Und beachten Sie, wenn Sie eine Zeichenfolge hatten, sagen
wir eine Telefonnummer. Wenn Sie versuchen, die Zahl Vier zu
finden, wie in diesem Fall eine Ganzzahl,
erhalten Sie einen Fehler. Hier
im Feedback heißt
es, es ist ein Typfehler. Der Wert muss eine Zeichenfolge sein, keine Ganzzahl, nach der gesucht
werden soll. Sie müssten also eine Literalzeichenfolge von
vier
finden , und sie
steht genau am
Anfang, Index Null Manchmal
möchten Sie vielleicht
alle Vorkommen
einer bestimmten Zeichenfolge
innerhalb einer Zeichenfolge ersetzen alle Vorkommen
einer bestimmten Zeichenfolge
innerhalb einer Zeichenfolge Da find den Index
des ersten Vorkommens
einer Teilzeichenfolge zurückgibt , können
Sie ihn nicht einfach verwenden, um diesen Vorgang
auszuführen Zeichenketten verfügen jedoch über eine
Ersetzungsmethode, die jede Instanz einer Teilzeichenfolge durch
eine andere Zeichenfolge
ersetzt Teilzeichenfolge durch
eine andere Zeichenfolge
ersetzt Genau wie bei dieser Methode find fügen Sie replace an das Ende
einer Variablen oder eines Zeichenkettenliterals In diesem Fall müssen
Sie jedoch zwei Zeichenketten in
die Klammern setzen und sie durch ein Komma
trennen. erste wäre die Teilzeichenfolge
, die Sie suchen möchten, und die zweite ist eine
Zeichenfolge, durch die Sie die Ido-Ströme der Teilzeichenfolge ersetzen
möchten Lassen Sie uns das im
interaktiven Fenster ausprobieren. Also, genau wie bei find, taggen
Sie die Methode replace am Ende
der Variablen
oder des String-Literals Lass uns das ausprobieren. Nehmen wir an, wir hätten eine
Variable namens Meine Geschichte. Okay. Und in diesem Fall wollten
Sie es
mit Punkt Replace ersetzen. Und Sie können hier sehen,
dass es heißt, geben Sie die alte Zeichenfolge ein,
was bedeutet, dass die Teilzeichenfolge, nach der
Sie
gesucht haben ,
durch die neue Zeichenfolge ersetzt werden soll Also sage ich, suche nach der Wahrheit
und ersetze sie durch Lügen. Also, wie cool ist das? Nun, was mit meiner Story selbst passiert ist
, Sie erinnern sich vielleicht daran, dass
Zeichenketten unveränderliche Objekte sind und replace
die Variable my story nicht verändert Und die Verwendung der Replace-Methode ändert nichts an der
Zeichenfolge „Meine Geschichte“ Wenn Sie sofort
my story in das
interaktive Fenster eingeben , werden
Sie feststellen, dass Sie, wenn Sie den Wert
der Zeichenfolge my story
ändern
möchten, ihn neu zuweisen müssen Also, noch einmal, eine kleine Auffrischung
dazu, Sie würden sagen, ich würde meine Geschichte gerne,
in diesem Fall, diesem Ersatz
zuweisen in diesem Fall, diesem Ersatz Also würdest du sagen: Nehmen wir an, wir
wollen dasselbe tun und die Wahrheit gegen Lügen
eintauschen Also, was steckt in meiner Geschichte? Sie werden hier sehen, dass es geändert und neu zugewiesen
wurde. Replace ersetzt
jede einzelne Instanz der Teilzeichenfolge durch
den Ersatztext Was wäre, wenn du eine andere
Zeichenfolge hättest, die einigen Dingen
zugewiesen wäre die einigen Dingen
zugewiesen Also hier ist der Text, und du wolltest eine neue
Version des Textes. Und du wolltest ein
paar Ersatzartikel machen. Angenommen, Sie wollten einige
durch
alle ersetzen , aber Sie
wollten auch Dinge durch
Dinge ersetzen Nun, du müsstest
sie nacheinander machen. Also, neuer Text sagt
alles, und du könntest sagen,
okay, nun, neuer Text. Ich möchte auch, dass neuer Text nichts ersetzt, Koma. Jetzt hast du also beides erreicht. Die Ersetzungsmethode ersetzt jede Instanz einer
bestimmten Teilzeichenfolge durch einen Ersatztext Wenn Sie nun
mehrere verschiedene
Teilzeichenfolgen innerhalb einer Zeichenfolge ersetzen
möchten , müssen Sie
replace mehrmals verwenden Es ist an der Zeit, sich mit
einigen neuen
Wiederholungsübungen
selbst herauszufordern . Übung eins. in einer Codezeile Zeigen Sie in einer Codezeile das Ergebnis der Suche nach
der Teilzeichenfolge mit
dem Kleinbuchstaben A
in der Dreierfolge an. Beachten Sie, dass das Ergebnis negativ
sein sollte Übung zwei: Ersetze
jedes Vorkommen des Zeichens S durch X. In dieser Zeichenfolge hat jemand etwas zu
John gesagt Übung drei: Schreiben Sie ein Programm , das Benutzereingaben mit
Eingaben akzeptiert und dann das Ergebnis
der Suche nach einem bestimmten
Buchstaben in dieser Eingabe
anzeigt . Die Lösungen für
diese Übungen und
den Code finden Sie in den
Ressourcendateien dieser Lektion. Danke fürs Zuschauen.
45. ÜBUNG: Einen Buchstaben in einer Zeichenfolge finden: Ihre nächste Übung heißt
Finden Sie einen Buchstaben in einer Zeichenfolge. Hier sollten Sie
ein Programm schreiben, das
Benutzereingaben mit der
Eingabefunktion akzeptiert und
das Ergebnis des Versuchs anzeigt , einen bestimmten Buchstaben
in dieser Eingabezeichenfolge
mithilfe der Punktsuche zu finden. Welcher Buchstabe ist hier nicht definiert. Es scheint also, als ob dies eine weitere Eingabe sein
wird, wahrscheinlich vom Benutzer, oder vielleicht ist es einfach keine
sehr gute Beschreibung. Wie dem auch sei, ich werde
diese Beschreibung hinzufügen, sodass der
Benutzer in der Lage sein sollte, sowohl das Wort
oder den Satz als auch den Buchstaben
einzugeben , nach dem in diesem Satz
gesucht werden soll. Okay, probieren Sie es aus und
fahren Sie dann mit der nächsten Lektion fort.
46. LÖSUNG: Einen Buchstaben in einer Zeichenfolge finden: der Aufgabe ging es also darum, ein Programm zu
schreiben, was normalerweise ein Hinweis
darauf ist , dass Sie dafür
ein Skript verwenden sollten. Also habe ich wieder ein neues Skript
geöffnet und es
dann in Form von kurzen Notizen zusammengefasst. Ich möchte Eingaben sammeln und dann die Ergebnisse der
Suche nach einem Buchstaben
anzeigen. Beginnen wir damit,
Eingaben zu sammeln und
diese dann irgendwo zu speichern. Mein Text wird also eingegeben,
gib einen Buchstaben ein. Dann möchte ich
dieses Ergebnis der
Suche nach einem Buchstaben in diesem Text anzeigen . Also möchte ich Text Dot Find sagen. Und dann ein Brief. Was ist
der Brief? Ich weiß es nicht. Ich könnte hier einfach nach
einem fest codierten Buchstaben
suchen , zum Beispiel
X, und dann
das Ergebnis ausdrucken. Lass uns das mal ausprobieren. Ich werde es speichern und ausführen. Jetzt kann ich einen Text eingeben. Ich werde Virginia retten und erhalte minus eins, weil
es in Virginia kein X gibt. Wenn ich das
Skript jetzt erneut ausführe und es mit einem Text versuche
, der ein X enthält, zum Beispiel Xavier,
dann erhalte ich Null Es findet also X an
der ersten Position. Also das funktioniert mit X, aber ich finde das nicht großartig. Wenn es immer nach X sucht, ist
es vielleicht ein bisschen langweilig. Stattdessen werde
ich dies ändern, damit
der Benutzer auch eingeben kann, nach welchem
Zeichen gesucht werden soll. Also erstelle ich eine weitere Variable , die ich Charakter nenne. Und das wird ein weiterer
Aufruf zur Eingabe sein. Und dann sage ich „
Zeichen eingeben“, nach dem gesucht werden soll. Schließlich muss ich auch
das Argument für Text
Fine durch Character ersetzen . Was dann bedeutet, dass es
unabhängig von der Benutzereingabe sein wird. Technisch gesehen
könnte diese Benutzereingabe mehr als
ein einzelnes Zeichen sein. Punktsuche funktioniert mit Teilzeichenfolgen, sodass Sie mehr
als ein Zeichen
als Teilzeichenfolge eingeben können , nach der gesucht werden soll Wenn Python die Teilzeichenfolge findet, gibt es den Index
des Anfangs zurück dem die Teilzeichenfolge zuerst in der Zeichenfolge
auftaucht Aber für diese Übung müssen
Sie sich
darüber keine Gedanken machen Sie gehen davon aus, dass Ihre
Benutzer gute Bürger sind, und folgen den Anweisungen,
nur ein einziges Zeichen einzugeben. Lassen Sie uns das
noch einmal ausführen. Geben Sie einen Text ein. Jetzt kann ich Samantha sagen
und nach A suchen. Und dann können Sie sehen, dass es es an der
Indexposition eins
findet Also an der zweiten Position, die Indexposition eins ist Und lass es uns noch einmal machen. Mal sehen, ob es immer noch wie erwartet
funktioniert. Wenn ich Samantha sage und nach X
suche, erhalte ich minus eins. Und noch ein Test. Wenn ich Samantha eintippe
und nach T suche, können
Sie sehen, dass ich fünf erhalte Dies ist die Indexposition des ersten T, das Python in der Eingabezeichenfolge
findet Ordnung. Also das funktioniert. Lassen Sie uns das Skript bereinigen, die Kommentare
entfernen und wir sind mit dieser Übung
fertig.
47. Strings und String-Methoden (ZUSAMMENFASSUNG): Willkommen zurück, alle zusammen. In diesem Abschnitt erfahren
Sie, wie Zeichenketten
mit String-Methoden
manipulieren können. Sie lernen, mit
Benutzereingaben zu arbeiten und mit
Zahlenfolgen umzugehen. Darüber hinaus haben Sie eine
Handvoll Möglichkeiten
kennengelernt ,
Zeichenketten für den Druck zu formatieren. Außerdem haben wir uns mit dem Teilen, Verketten und Verbinden
von Zeichenketten Nebenbei haben Sie
auch etwas über
F-Zeichenketten und mehrzeilige Zeichenketten gelernt , wie man Zeichenketten indexiert und aufteilt, wie Zeichenketten unveränderlich sind, und Sie haben auch gelernt, wie Sie mithilfe entdecken Im nächsten Abschnitt werden
wir Arbeit mit
Strings und String-Methoden
üben Dabei üben Sie die Konzepte,
die Sie in diesem Abschnitt
gelernt haben ,
und tragen dazu bei, dass sie Bestand haben. Ich möchte mich bei Ihnen für die
Fertigstellung des Abschnitts bedanken und Ihnen
gratulieren.
48. PROJEKT: Ein Quittungsdruckprogramm erstellen: Willkommen zu Ihrem ersten Projekt. Wir werden ein sehr einfaches Programm zum Drucken
von Belegen erstellen. Während dieser Woche
werden
Operatoren, die Zeichenketten
bearbeiten, diese Fähigkeiten nutzen,
um dieses Programm zu erstellen, da wir mehr über Variablen
gelernt haben Operatoren, die Zeichenketten . Es ist immer gut, sich ein Design dessen vorzustellen, was
Sie bauen möchten. Bei größeren Projekten empfiehlt es
sich, ein Flussdiagramm oder eine
Art Designdokument zu erstellen , das Sie auf Kurs hält. Auf diese Weise weichen Sie nicht vom angestrebten Ergebnis
ab. Für uns werden wir mit den erlernten Konzepten
ein kleines Programm
zum
Drucken von Belegen erstellen mit den erlernten Konzepten
ein kleines Programm
zum
Drucken von Belegen , bei dem die Ausgabe wie folgt
aussehen wird Fangen wir also an. Wann immer
Sie ein Projekt beginnen, müssen
Sie immer wissen,
wo Sie anfangen sollen. Unabhängig von der Größe
des Projekts gibt es bestimmte Abhängigkeiten. Wie beim
Hausbau muss man
ein Fundament haben, bevor
man ein Dach darauf legen kann. Fangen wir an,
die Variablen zu definieren ,
mit denen wir in diesem Programm arbeiten werden . A Es ist gut, gute Codierungstechniken zu implementieren , wenn Sie ein Python-Programm schreiben. Diese
in diesem Block eingeführte Technik ermöglicht die Deklaration mehrerer Variablen in derselben Zeile. Dazu trennen wir
die Variablennamen und
ihre zugehörigen Werte durch. Betrachtet man die ersten
beiden deklarierten Variablen, wird
der Wert von oranges mit
dem Variablennamen P,
einem Unterstrich
und dem Wert 5,90 gespeichert dem Variablennamen P,
einem Unterstrich und dem Wert Dieser Wert wird im
Variablennamen P mit einem Unterstrich als Preis gespeichert Variablennamen P mit einem Anstatt sechs Zeilen zu schreiben, haben
wir unser
Programm bereits um die Hälfte reduziert Je weniger Zeilen wir verwenden, desto besser meistens. Als Nächstes definieren wir oben auf der Quittung die
Variablen, die wir für
das Unternehmen
verwenden werden . Ich als Beispiel:
Wir haben den Firmennamen komplett in
Kleinbuchstaben gelassen, sodass Sie dieses Problem mithilfe
einer
Streaming-Manipulationsmethode beheben können dieses Problem mithilfe
einer
Streaming-Manipulationsmethode beheben Abschließend deklarieren wir am
Ende
der Quittung die Nachricht, die an den Benutzer
ausgegeben wird Ende
der Quittung die Nachricht, die an den Benutzer
ausgegeben Wie wir aus
dem Design ersehen können, das wir zu
Beginn des Projekts entworfen
haben, müssen wir oben und unten einen
Rand herausstechen Fangen wir mit einem oberen Rand an. Wir versuchen nur, 50 Sterne hintereinander
für Tom Border
auszudrucken , anstatt 50 gedruckte Aussagen
zu machen. Wir können
die Zeichenfolge einfach mit der gewünschten
Zahl multiplizieren . Wir haben
unsere Variablen im Unternehmen bereits
anhand der
vorherigen Zeilen definiert , also lassen Sie uns sie anzeigen. Escape-Zeichen werden in
das definierende
Backslash-Zeichen eingelesen das definierende
Backslash-Zeichen Was auch immer nach
diesem umgekehrten Schrägstrich kommt wird vom Computer interpretiert In den ersten drei
Druckanweisungen verwenden
wir den umgekehrten Schrägstrich
T für den Tabulatoreinzug Wenn wir die beiden
Escape-Zeichen in einer Reihe verwenden , um die Ausgabe zu
zentrieren, erstellen wir nun So wie wir unseren oberen Rand
ausgedruckt haben, multiplizieren
wir das
gleiche Symbol 50, um eine Linie mit
derselben Breite zu erzeugen Dadurch entsteht
der Eindruck separater Abschnitte. Jetzt möchten wir
eine Kopfzeile erstellen, bevor wir den Namen und den Preis der einzelnen
Produkte auflisten. Dies kann einfach geschehen, indem Sie unsere Escape-Zeichen
zum Einrücken verwenden. Aufgrund der Größe
der Header-Namen wollen
wir vor jeder Kopfzeile nur einen einzigen
Tab verwenden Jetzt können wir weitermachen und
eine Zeile für die Informationen jedes
Produkts ausgeben . Okay. Okay. Wir haben in den
vorherigen Print-Statements
ähnliche Stile verwendet in den
vorherigen Print-Statements
ähnliche Stile um den Titel, den
Preis und die
jeweiligen Überschriften der
einzelnen Produkte zentriert Preis und die
jeweiligen Überschriften Lassen Sie sich nicht von
all den Symbolen mit
der Druckzeichenfolge verwirren , da Sie
sie einfach in ein Tabulatorzeichen aufteilen können, gefolgt von der Formatierung der ersten Variablen in der Zeichenfolge, gefolgt von zwei Tabulatoren, gefolgt von einem 1-Dollar-Zeichen, damit
der Preis wie eine
Währung aussieht , und gefolgt Formatierung
der zweiten Variablen in der Damit ist der
Abschnitt für unsere Artikel abgeschlossen. Fügen wir
also einen weiteren
Abschnittsteiler Wie der
Produktbereich. Wir möchten eine Überschrift
für unsere Gesamtsumme erstellen, aber auch sie
aber auch unter der Preisspalte zentrieren, wie im Produktbereich. Dazu
benötigen wir drei Tabs. wir nun
unsere Gesamtsumme an die
Preisspalte in den Produkten
angepasst haben , können
wir unsere Gesamtsumme in
die nächste Zeile importieren. Bevor wir jedoch eine Summe
ausdrucken können, müssen
wir zuerst die Summe
berechnen, die die Summe
all unserer Produkte darstellt. Definieren wir eine Variable namens total und drucken sie dann
aus. Auch hier haben wir drei Tabs
und ein
1-Dollar-Zeichen hinzugefügt , damit der
Gesamtwert als Währung angezeigt wird. Fügen wir nun einen Abschnittsrand hinzu. Y. Um die letzte
Dankesnachricht anzuzeigen, hat
unser Design etwas
mehr Abstand als jeder andere Abschnitt, sodass wir ein paar
neue Zeilen hinzufügen müssen, um ihm
etwas mehr Abstand zu geben. Unsere Botschaft ist jetzt zentriert
und wir können weitermachen. Um das einfache
Druckprogramm zu beenden, müssen
wir aus ästhetischen Gründen einen unteren
Rand einfügen. Führen Sie das Programm aus. Beachten Sie, dass der Preis unseres dritten Produkts,
Olivenöl, genau wie
die anderen beiden Produkte liegt. Lassen Sie uns also einen Tab löschen. Führen Sie das Programm erneut aus. Und es funktioniert super.
Herzlichen Glückwunsch. So einfach es auch sein mag,
es ist ein großer Meilenstein. Versuche, das Programm zu brechen. Ich ermutige die
Schüler immer,
Programme auszuprobieren und zu unterbrechen , weil Sie dadurch
lernen, wie Sie das Problem beheben können. Jetzt habe ich eine
herausfordernde Frage. Im Rahmen des Projekts haben wir
letztendlich
Grenzen über und unter den ausgedruckten
Informationen geschaffen . Versuchen Sie, jetzt
auch an
den Seitenrändern einen Sternrand hinzuzufügen . Die Lösung befindet sich immer
in den Ressourcendateien. Wenn Sie Fragen oder Vorschläge
zur Verbesserung des Programms haben, lassen
Sie es mich bitte wissen.
Danke fürs Zuschauen.
49. Zahlen und Mathe (Übersicht): Computer verwenden
Zahlen, um
alle Arten von
Informationen wie Text,
Bildern, Musik und sogar Videos
wie dem, das Sie
gerade ansehen, darzustellen alle Arten von
Informationen wie Text, Bildern, Musik und sogar Videos . ist so ziemlich alles Aus Sicht des
Computers ist so ziemlich alles
eine Zahl. Aus diesem Grund spielen Zahlen
und die Fähigkeit, mit ihnen umzugehen in jeder
Programmiersprache,
einschließlich Python,
eine wichtige Rolle . Vielleicht glauben
manche Anfänger auch deshalb, dass sie starke mathematische
Fähigkeiten
benötigen, um Programmierer zu werden Das ist jedoch ein
weit verbreitetes Missverständnis. In Wirklichkeit sollten Ihre Mathematikkenntnisse in
der
Grundschule mehr als
ausreichend sein, um mit dem Programmieren zu beginnen Der tatsächliche Grad an
mathematischer Vertrautheit hängt von
Ihrer spezifischen Rolle in der Anwendung ab, die
Sie erstellen Beispielsweise war es weniger
wahrscheinlich, dass Sie sich als Webentwickler mit
linearer Algebra oder Statistik
auskennen als Webentwickler mit
linearer Algebra oder Statistik mussten als
als Datenwissenschaftler In diesem Kurs erhalten Sie einen Überblick über die
numerischen Typen in Python,
erstellen ganze Zahlen, Gleitkommazahlen und
komplexe Zahlen und führen
arithmetische Operationen durch Erfahren Sie mehr über den Fehler bei der Darstellung von
Fließkommazahlen, arbeiten Sie mit mathematischen Funktionen
und Zahlenmethoden und
formatieren Sie Zahlen als Zeichenketten und zeigen Okay, es ist an der Zeit, dass
Sie sich zunächst einen
Überblick über die in Python
verfügbaren numerischen Typen
50. Numerische Typen in Python: In dieser Lektion
erhalten Sie einen Überblick über die verfügbaren numerischen
Typen in Python
aus der Vogelperspektive . Python hat drei numerische
Typen, die in die Syntax integriert sind, was bedeutet, dass Sie sie sofort
verwenden können ,
wenn Sie im Leerlauf laufen. Die drei nativen numerischen Typen
von Python sind Ganzzahlen oder ganze
Zahlen wie negative Drei, Null oder 42. Python nennt sie kurz It. Dann gibt es
Fließkommazahlen, die einen
Bruchteil haben können, wie zum Beispiel negative 2,32
oder 3,14 Diese werden als Gleitkommazahlen bezeichnet, und Sie werden lernen, warum sie so genannt
werden Schließlich gibt es
komplexe Zahlen, aus Real
- und Imaginärteilen Diese sind etwas fortgeschrittener und werden in der Praxis selten verwendet Deshalb werden Sie sich in einer späteren Lektion mit komplexen
Zahlen befassen. Der entsprechende Datentyp
in Python wird komplex genannt. Es ist erwähnenswert, dass alle drei
in Python integrierten numerischen Typen mit Vorzeichen versehen sind, was bedeutet, dass sie
sowohl positive als auch
negative Werte
zusammen mit der neutralen Null speichern können sowohl positive als auch
negative Werte . Darüber hinaus haben
Ganzzahlen keinen Höchst - oder Minimalwert
, der nur durch
den verfügbaren Speicher
auf Ihrem Computer begrenzt ist den verfügbaren Speicher
auf Ihrem Computer Im Gegensatz dazu haben
Fließkommazahlen und ihre
Cousins aus komplexen einen festen Wertebereich
sowie Dennoch sind sie
groß genug, um die meisten
realen Anwendungsfälle Streng genommen hat Python
noch einen anderen numerischen Typ
, den speziellen Integer-Datentyp. Er heißt Boolean
oder kurz Bool und kann nur einen von
zwei Werten speichern, wahr Diese Werte können jeweils
als Eins und Null dargestellt werden jeweils
als Eins und Null Sie sollten Boolesche Werte jedoch nicht
wirklich
als Zahlen betrachten, da sie für einen anderen Zweck
verwendet dazu erfahren Sie in einem separaten Videokurs
über bedingte Logik In den meisten Anwendungen werden Sie
ausschließlich
Ganzzahlen und
Fließkommazahlen verwenden Ganzzahlen und
Fließkommazahlen , da sie
die größte Bandbreite an
Problemen abdecken und gleichzeitig am effizientesten sind Eine bemerkenswerte Ausnahme
bilden Finanzoperationen
mit Bruchzahlen,
die exakte Genauigkeit erfordern, insbesondere wenn Sie mit
großen und kleinen Mengen
gleichzeitig arbeiten großen und kleinen Mengen
gleichzeitig Da Fließkommazahlen eine begrenzte Genauigkeit
haben, würde ihre
Verwendung zur Darstellung von
Währungsbeträgen unweigerlich zu
erheblichen Rundungsfehlern führen Sie sollten niemals
Fließkommazahlen zur Darstellung von
Finanzdaten in
realen Anwendungen verwenden Fließkommazahlen zur Darstellung von
Finanzdaten in ,
es sei denn, es macht Ihnen
nichts aus, Informationen
über das Geld Ihrer Kunden zu verlieren Ein gängiges Muster für die Darstellung
von Geldbeträgen besteht darin,
sie als ganze Zahlen in Form
der kleinsten Währungseinheit,
z. B. Cent, zu speichern sie als ganze Zahlen in Form
der kleinsten Währungseinheit,
z. B. Cent, und sie dann wieder
in Dollar umzurechnen Dieser Ansatz funktioniert jedoch
nicht für
mehrere Währungen , die
möglicherweise unterschiedliche Einheiten verwenden Zum Beispiel hat 1$
genau 100 Cent, während ein Bitcoin in
fast jeden beliebigen Bruchteil
unterteilt werden kann in
fast jeden beliebigen Bruchteil
unterteilt Um das
Problem mit Floats zu lösen, bietet
Python
über diese
Standardbibliotheksmodule einige
zusätzliche numerische Typen , die Sie zu einem anderen Zeitpunkt mehr
erfahren werden Sie werden diese zusätzlichen
numerischen Typen
in diesem Kurs nicht benötigen , aber es lohnt sich, etwas über sie
zu wissen Der erste Typ wird als
Dezimalzahl bezeichnet, weil er Zahlen intern mit dem
Dezimalstellensystem und
nicht mit dem Binärsystem
speichert , wie es bei den meisten anderen numerischen Typen der Fall ist. Abgesehen davon verhält es sich meistens wie eine
Fließkommazahl. Im Gegensatz zu einer
Fließkommazahl hat
sie jedoch eine beliebige, aber endliche Position, die standardmäßig
28 Dezimalstellen Sie müssen also im
Voraus entscheiden , wie viele Ziffern
Sie behalten möchten Außerdem funktioniert eine
Dezimalzahl zwar mit ganzen Zahlen, Sie können sie nicht einfach mit
Fließkommazahlen mischen Wenn das eine Anforderung ist, können
Sie einen
anderen numerischen Typ verwenden , der in Python enthalten ist und
als Bruch bezeichnet wird. Es stellt eine
rationale Zahl oder einen Quotienten aus zwei
ganzen Zahlen wie Brüche haben eine
unendliche Genauigkeit
, sodass Sie
Zahlen exakt darstellen können, auch wenn sie eine wiederkehrende
dezimale oder binäre Expansion haben dezimale oder binäre Expansion ohne dass durch Rundungen Informationen verloren gehen Sie nun eine allgemeine
Vorstellung von den numerischen
Typen in Python haben , ist
es an der Zeit, sich Ganzzahlen
genauer anzusehen
51. Ganzzahlen: In dieser Lektion werden Sie
sich eingehend mit einem der häufigsten numerischen
Typen in der Programmierung befassen, dem Integer-Datentyp
, den Python Int nennt. Wenn Sie an
einer interaktiven
Python-Interpreter-Sitzung teilnehmen
möchten , machen Sie weiter und
beginnen Sie jetzt im Leerlauf Eine Ganzzahl ist eine ganze Zahl
ohne Dezimalstellen. Der schnellste Weg,
eine Ganzzahl in Python zu erstellen , besteht
darin,
ein Integer-Literal zu erstellen , das aus
Ziffern besteht , die
buchstäblich in Ihrem Code vorkommen Wenn Sie beispielsweise 42 und
idle eingeben, wird eine Ganzzahl erstellt. Sie können den Typ
eines solchen Literals überprüfen, das Python als
It bezeichnet, weil ganze Zahlen ganze Zahlen
sind Sie haben keinen
Bruchteil. Sobald Sie also
den Dezimalpunkt
in Ihr Literal aufnehmen , erstellen
Sie keine Ganzzahl mehr Selbst wenn der Bruchteil Ihres Literals gleich Null ist,
wie in diesem Beispiel, ist das Ergebnis eine Fließkommazahl, die Sie in der nächsten Lektion mehr erfahren
werden Andererseits
kann
ein Integer-Literal das Minuszeichen enthalten Dadurch wird eine negative
Ganzzahl erzeugt. Darüber hinaus können Sie
Gruppen mit mehreren
Ziffern abgrenzen , indem Sie
einen einzelnen Unterstrich an einer
beliebigen Stelle in Ihrem Literal platzieren einen einzelnen Unterstrich ,
um daraus eine große Zahl zu machen, etwas leichter Python macht es keinen Unterschied, ob Sie die
Unterstriche verwenden oder nicht, aber das Schreiben einer
Zahl mit ihnen ist für
Menschen wohl besser
lesbar Bisher haben Sie nur Dezimalliterale
gesehen, die
aus den bekannten
zehn Ziffern Null Gelegentlich möchten
Sie jedoch möglicherweise eine Zahl mit einem
anderen Zahlensystem
ausdrücken Da Computer
binäre und manchmal auch einige
andere Zahlensysteme verwenden , können Sie mit
Python ganze Zahlen
mithilfe dieser Alternativen erstellen Indem Sie Ihrem
Integer-Literal eine der wenigen
unterstützten Systembasen voranstellen, können
Sie ändern, wie viele
Ziffern Sie Zum Beispiel
kann die Zahl 42 im Binärsystem als Eins,
Null, Eins, Eins,
Null ausgedrückt werden Null, Eins, Eins, Binärsystem als Eins,
Null, Eins, Eins,
Null ausgedrückt Um Python anzuweisen, ein
solches Literal als
Binärziffern oder Bits zu interpretieren , können
Sie das Null-B-Präfix verwenden Beachten Sie, wie Idle Ihnen
die Zahl wieder im
Dezimalsystem präsentiert Ihnen
die Zahl wieder im
Dezimalsystem Es ist dieselbe Zahl nur auf
zwei verschiedene Arten dargestellt wird. In ähnlicher Weise können Sie die Zahl 42 im Hexadezimalsystem
ausdrücken , indem Sie
das Präfix Null x
gefolgt von
den Ziffern zwei A verwenden Präfix Null x
gefolgt von
den Ziffern zwei A stehen
Ihnen bis zu 16 Ziffern Im
Hexadezimalsystem
stehen
Ihnen bis zu 16 Ziffern zur Verfügung Die üblichen zehn Ziffern 0-9 plus sechs lateinische Buchstaben A bis
F. Die Buchstaben können entweder in Groß- oder Kleinbuchstaben geschrieben werden Das letzte
Zahlensystem, das von
Python-Literalen unterstützt wird,
ist das Oktalsystem, das acht Ziffern 0-7 hat Sie können ein
Oktalliteral mit einem 00-Präfix aktivieren. Auch hier erhalten Sie eine
dezimale Darstellung der erstellten Ganzzahl Man kann mit Fug und Recht sagen, dass
Sie selten andere
Integer-Literale als
die standardmäßigen Dezimalliterale verwenden müssen andere
Integer-Literale als
die standardmäßigen Dezimalliterale Nichtsdestotrotz können sie
manchmal nützlich sein. Verwendung von Integer-Literalen
ist am besten, wenn Sie
Ihre Zahlen im Voraus kennen und sie in literaler Form in Ihren Code
einbetten möchten sie in literaler Form in Ihren Code
einbetten Zahlen kommen jedoch oft als Zeichenketten von den Benutzern, die sie auf ihrer
Tastatur eingegeben haben. Aus einer früheren Lektion erinnern
Sie sich vielleicht daran, dass Sie eine Zeichenfolge in
eine Ganzzahl konvertieren
können , indem Sie die
eingebaute
Funktion in Python aufrufen . Beachten Sie die Anführungszeichen um 42, die ein Zeichenkettenliteral definieren Was Sie zurückerhalten, ist der entsprechende Integer-Wert ohne
Anführungszeichen angegeben wird Auch hier können Sie den Typ des
Rückgabewerts
überprüfen , der
zufällig int ist Standardmäßig geht die Funktion int
davon aus, dass Sie eine Zeichenfolge
angeben, die aus
Dezimalzahlen von Null bis Neun besteht. Wenn Sie
eine andere Basis für
das Zahlensystem wählen
möchten , können Sie der
Funktion optimalerweise nach
einem Komma ein zweites Argument übergeben nach
einem Komma ein zweites Argument In diesem Fall erstellen Sie eine Ganzzahl 42 aus
einer Folge von Binärziffern Der Höchstwert für die von Python
unterstützte Basis ist 36. Es ist erwähnenswert, dass die
IT einen Wert
eines beliebigen Datentyps akzeptiert ,
nicht nur Zeichenketten. Sie können beispielsweise
eine Fließkommazahl übergeben ,
um ihren Bruchteil zu kürzen Wie Sie sehen, ermöglicht die
Int-Funktion Konvertierung von Werten aus anderen
Datentypen in Ganzzahlen,
was Sie möglicherweise benötigen, um Berechnungen mit Zahlen und
nicht mit Zeichenketten durchzuführen Berechnungen mit Zahlen und
nicht mit Zeichenketten Wenn Sie Int aufrufen, ohne Wert
als Argument zu übergeben, geben
Sie als Ergebnis immer
Null zurück Die dritte Möglichkeit,
Ganzzahlen in Python zu erstellen, besteht in
Ausdrücken wie arithmetischen Ausdrücken
oder Sie werden in Zukunft mehr darüber
erfahren. In der Zwischenzeit
sollten
Integer-Literale völlig
ausreichend sein. In Ordnung. Jetzt wissen Sie, wie Sie ganze Zahlen in
Python mithilfe von Integer-Literalen
erstellen , die Sie mit
verschiedenen Zahlensystemen darstellen können,
einschließlich dem Dezimal-, Binär-,
Hexadezimal - und Oktalsystem In diesem Fall handelt es sich bei allen unterschiedliche Repräsentationen Sie kennen auch
die in-Funktion, die Null zurückgibt, wenn Sie sie
ohne Argumente aufrufen. Andernfalls konvertiert sie den von Ihnen
angegebenen Datentyp, z. B. ein Zeichenkettenliteral die entsprechende Wenn Sie die
in-Funktion mit
einer
Fließkommazahl als Argument aufrufen , kürzt
sie
ihren Bruchteil
und gibt nur den ganzen Teil als
Ganzzahl zurück Schließlich
kann die in-Funktion optional
ein weiteres Argument verwenden, das die Basis des Systems darstellt, das zur Interpretation einer
Ziffernfolge
verwendet wird, z. B. 10, eins, 010 in der angegebenen Als Nächstes werden Sie
Fließkommazahlen,
die zweitwichtigste
Art von Zahlen, und Python untersuchen . Aber vorher habe ich in der nächsten
Lektion
eine Übung über ganze Zahlen Durch die Bearbeitung
dieser Übungen werden
Sie Ihr Wissen vertiefen und Ihr Verständnis
der
Python-Sprache festigen Sie gewinnen nicht nur Vertrauen in Ihre Programmierfähigkeiten,
sondern verbessern auch Ihre Fähigkeiten zur
Problemlösung
52. ÜBUNG: Ganzzahl-Literale definieren: Diese Übung testet
Ihre Fähigkeit,
ganze Zahlen in Python anhand
ihrer Literalform zu definieren ganze Zahlen in Python anhand
ihrer Literalform Es wäre hilfreich, sich daran zu erinnern,
was Integer-Literale sind. Wie Sie bereits
wissen, ist eine Ganzzahl eine ganze Zahl
ohne Dezimalstellen Zum Beispiel ist eins eine
Ganzzahl, 1,0 jedoch nicht. Sie können eine Ganzzahl erstellen, indem
Sie die gewünschte Zahl eingeben. Im Folgenden wird beispielsweise der Variablen num
die Ganzzahl 25 zugewiesen Variablen num
die Ganzzahl 25 zugewiesen Wenn Sie eine
Ganzzahl wie diese erstellen, wird
der Wert 25 als
Integer-Literal bezeichnet da die Ganzzahl
buchstäblich in den Code eingegeben wird Ordnung. Hier sind deine
Anweisungen für die Übung. Sie müssen ein
Programm schreiben, das
zwei Variablen Nummer
eins und Nummer zwei erzeugt . Sowohl der Zahl eins als auch der
Zahl zwei sollte das
Ganzzahl-Literal 25 Millionen
zugewiesen werden , mit Unterstrichen
und
eine ohne Unterstriche geschrieben Geben Sie dann Zahl eins und Nummer zwei in
zwei separaten Zeilen aus. Ich lasse Sie das selbst
durchdenken , bevor der nächsten Lektion
fortfahren, in wir diese
Übung gemeinsam lösen werden.
53. LÖSUNG: Ganzzahlen definieren: Ich habe Idol bereits im interaktiven Standardmodus geöffnet,
was Sie an
der Eingabeaufforderung erkennen können, die aus drei
rechten eckigen Klammern besteht. Dies ist die Python-Shell, die Sie
als Spielplatz verwenden können um Ideen schnell zu testen, indem kurze Codefragmente
ausführen,
bevor Sie sie in einer Datei speichern Ich werde dieses Fenster an
der linken Seite des
Bildschirms andocken, sodass ich auf der
rechten Seite
etwas Platz habe , in dem ich ein
weiteres Fenster mit einer leeren
Datei öffnen kann , die zur Bearbeitung bereit ist Ich möchte einen geteilten Bildschirm
mit allem, was ich brauche, in
einem einzigen Arbeitsbereich wie diesem haben , um zu
vermeiden, den Fokus zu verlieren oder zwischen
verschiedenen Programmen zu
wechseln. Sie werden auch feststellen
, dass ich viele
Tastenkombinationen verwende , um die
Dinge etwas schneller zu machen. Ihre Tastenkombinationen können sich zwar
geringfügig von meinen unterscheiden, Sie können
sie immer
im Menü oben finden , wenn Sie daran
interessiert sind, was sie sind. Ich füge die
Übungsanweisungen als Python-Zeichenfolge in den Code-Editor
ein, damit ich sie schnell wiederfinden kann. Wie Sie sehen können, habe
ich bereits aus
jedem Satz einen
eigenen Aufzählungspunkt gemacht , den
wir nacheinander behandeln werden. Wir werden zwei Variablen mit den
Namen Nummer eins und Nummer zwei
erstellen . Es ist üblich, jede Variable in Python aus
Gründen der besseren Lesbarkeit in
einer separaten Zeile zu
definieren , obwohl es
technisch möglich ist, sie auf eine einzige Zeile zu quetschen, was manchmal gerechtfertigt
sein kann Zur Erinnerung: Sie können
eine Variable definieren, indem Sie
ihren Namen angeben, z. B. num one, gefolgt vom
Zuweisungsoperator
, der in Python das
Gleichheitszeichen ist, und schließlich dem Wert. Laut dem
zweiten Aufzählungspunkt sollen
beide Variablen
denselben ganzzahligen
Wert von 25 Millionen haben , aber sie werden in zwei
alternativen Literalformen geschrieben Verwenden wir das
Integer-Literal mit Unterstrichen für die erste Variable und eines ohne Unterstriche
für die zweite Sie können Unterstriche an einer
beliebigen Stelle in Ihren Literalen platzieren, solange sie nicht vorne oder am
Ende erscheinen Mit anderen Worten, auf beiden
Seiten des Unterstrichs müssen sich
einige Ziffern befinden ,
und diese Unterstriche sind völlig optional, da
Python sie ignoriert Sie können hilfreich sein, um
ähnliche Ziffern visuell zu gruppieren,
wie
in der Übung Der erste
Literalwert
ist wohl leichter zu lesen
als der zweite Auf Anhieb heißt es, schreiben Sie ein Programm, das
anzeigt, dass Sie Ihren Code
als Python-Skript speichern
sollten, was ich jetzt tun werde, und
der Datei den Namen Übung eins geben. Idle geht davon aus, dass wir
eine Datei mit Python-Quellcode erstellen , sodass automatisch
die Punkt-Pi-Erweiterung an
den Dateinamen angehängt die Punkt-Pi-Erweiterung an
den wird, sofern nicht anders
angegeben Sie können den Pfad zu
Ihrer Datei in der
Titelleiste des Fensters sehen Ihrer Datei in der
Titelleiste des Fensters Im letzten Punkt dieser
Übung geht es nun darum,
beide Variablen zu drucken , um ihre aktuellen Werte
anzuzeigen. Beim Drucken geht
es darum, die integrierte
Druckfunktion mit jeder
Variablen als Argument aufzurufen Druckfunktion mit jeder
Variablen als Argument Also drucke Nummer eins
und drucke Nummer zwei. Sie können
die Datei jetzt speichern und im interaktiven
Fenster auf der linken Seite ausführen . Auf meinem Computer kann ich
das Modul neu laden, indem ich
F 5 auf meiner Tastatur drücke Die beiden Zahlen, die auf
dem Bildschirm erscheinen, sind das Ergebnis eines
zweimaligen Aufrufs der Druckfunktion Aufrufs der Druckfunktion mit unterschiedlichen Argumenten Beachten Sie, dass
Python trotz der Verwendung alternativer Literalformen wir den Variablen zuweisen, alternativer Literalformen, die
wir den Variablen zuweisen, sie auf die gleiche Weise druckt Sie können dies überprüfen, indem Sie print explizit mit Nummer
eins und Nummer zwei in
der interaktiven
Python-Shell auf der linken Seite
aufrufen eins und Nummer zwei in . Sie sehen, aus
Pythons Sicht enthalten
beide Variablen genau
denselben numerischen Wert. Die Verwendung von Unterstrichen in
Integer-Literalen macht nur Programmierer wie
Sie, die den Quellcode lesen,
einen Unterschied Sie, die den Quellcode lesen, Ein
54. Gleitkommazahlen: In dieser Lektion
lernen Sie, wie Sie
Zahlen mit dem
Fließkomma-Datentyp von Python darstellen , der sich am besten
für Zahlen mit
Bruchteilen eignet . Wie bei ganzen Zahlen können Sie
Fließkommazahlen in ihrer
Literalform erstellen Fließkommazahlen in ihrer
Literalform Der einzige Unterschied zwischen einem Ganzzahl-Literal und
einem Gleitkomma-Literal von 0,1 besteht darin, dass ein
Fließkomma-Literal
einen Dezimalpunkt haben muss , um
den gesamten Teil vom
Bruchteil zu trennen den gesamten Teil vom
Bruchteil Sie benötigen nicht einmal die
nachfolgende Null, um
eine
Fließkommazahl zu bestimmen , solange Sie den
Dezimalpunkt in Ihr Literal einbeziehen Ebenso können Sie die führende Null
überspringen wenn Ihre Zahl ein
Bruch wie 0,42 ist Fließkommazahlen in Python unterstützen
dieselbe Gruppierung von digitalen Zahlen wie Ganzzahlen mit Hilfe
des
Unterstrichs Wie Sie sehen, ist es möglich, denselben Wert
wie 42 mit verschiedenen
Datentypen in Python
auszudrücken . Der Unterschied besteht darin, wie
sie es im Speicher
Ihres Unternehmens darstellen und
wie viel Speicherplatz sie beanspruchen, was sich wiederum auf
die Leistung
und Präzision
verschiedener Operationen auswirkt . Darüber hinaus können
Sie
Fließkommaliterale in
Python mithilfe der
wissenschaftlichen Notation definieren Fließkommaliterale in , die manchmal als
Exponentialnotation
oder E-Notation bezeichnet wird Exponentialnotation
oder E-Notation Die Idee dahinter ist, die wiederholten Nullen zu
einer wirklich großen oder
sehr kleinen Zahl
zusammenzufassen einer wirklich großen oder
sehr kleinen Zahl und sich nur auf die
signifikanten Ziffern zu konzentrieren Sie können zum Beispiel dieselbe Zahl als
4,2 mal Zehn hoch
sieben
schreiben 4,2 mal Zehn hoch
sieben Der Buchstabe E, der entweder Klein- oder Großbuchstaben
sein kann, steht für den Der Exponent selbst
muss eine ganze Zahl sein, aber auch negativ sein, genau wie
die Zahl davor. Eine solche Notation mag
seltsam oder unpraktisch erscheinen, aber sie kann manchmal
den Umgang mit großen oder kleinen Zahlen
in arithmetischen Operationen erleichtern Vielleicht haben Sie
die E-Notation
auf Taschenrechnern gesehen , die damit
Zahlen darstellen, die sonst nicht auf den
Bildschirm passen würden auf den
Bildschirm passen Wenn Ihnen diese Notation nicht gefällt, können
Sie Ihre
Fließkommazahl
mit einer festen Anzahl von
Dezimalstellen formatieren mit einer festen Anzahl von , z. B.
acht, um alle Nullen aufzudecken Wie bei ganzen Zahlen können
Sie
Fließkommazahlen auf zwei Arten erstellen Fließkommazahlen auf zwei Sie können entweder ihr
Literal verwenden, das
aus Ziffern und dem Dezimalpunkt besteht, oder Sie können die
eingebaute Float-Funktion aufrufen Wenn Sie die Funktion
ohne Argumente aufrufen, kehrt
sie zu einer
Fließkommazahl zurück, die Null entspricht Beachten Sie, dass sich dies
von einer Ganzzahl Null unterscheidet. In den meisten Fällen akzeptiert
die Funktion jedoch ein einzelnes Argument,
das entweder eine Zeichenfolge
oder eine Zahl sein kann , z. B. eine
Ganzzahl oder eine andere Fließkommazahl. Das ist praktisch, um
andere Datentypen in
Fließkommazahlen umzuwandeln . Sie sollten die
Gleitkommafunktion auch verwenden, um
einige spezielle Werte zu definieren , die im
Datentyp
Fließkommazahl keine
wörtliche Darstellung haben im
Datentyp
Fließkommazahl keine
wörtliche Darstellung Datentyp
Fließkommazahl In diesen Fällen übergeben Sie einen bestimmten Zeichenkettenwert als Argument
an die
Float-Funktion Zwei davon sind positiv
und negativ unendlich. Diese sind nützlich als ungebundene Ober- und
Untergrenzen, wenn Sie beispielsweise nach einem Höchst- oder
Minimalwert suchen Praktischerweise können Sie die
Unendlichkeit mit normalen Zahlen vergleichen ,
was zu vernünftigen Ergebnissen führt Der dritte Sonderwert
im Fließkomma-Datentyp wird weder Zahl noch NAN
genannt. Sie können ihn verwenden, um explizit
auf einen fehlenden Wert hinzuweisen. Es wird jedoch
häufiger von Python
selbst verwendet , um eine undefinierte
mathematische Operation zu signalisieren, z. B. die Division der Unendlichkeit
durch eine andere Unendlichkeit Es gibt eine interessante
Eigenart an keiner Zahl, denn Python folgt
der IE 754-Spezifikation
für die Fließkomma-Arithmetik Keine Zahl ist niemals gleich einem Wert, nicht einmal
sich Ein weiterer Unterschied
zu Fließkommazahlen, wenn Sie sie mit ganzen
Zahlen vergleichen, ist
, dass sie einen festen Grenzwert haben Wenn Sie versuchen,
einen Wert zu finden , der größer als der
zulässige Höchstwert ist, erhalten
Sie am Ende unendlich Woher weißt du, was
der Maximalwert ist? Nun, in der Praxis ist
das nicht wirklich wichtig, weil der Bereich einer
Fließkommazahl so groß ist, dass er in den meisten Fällen mehr als
ausreichend sein wird. Wenn Sie es jedoch wirklich herausfinden
möchten, können Sie die
folgenden Anweisungen verwenden. In diesem Fall ist der
Maximalwert etwa 1,8 mal
zehn hoch 308. Denken Sie daran, dass diese
Zahl in Stein gemeißelt ist da verschiedene
Python-Interpreter unterschiedliche Grenzen haben
können je nach Plattform, für die sie entwickelt wurden
, Zusammenfassend lässt sich sagen, dass Sie in
Python
Fließkommazahlen mithilfe ihrer Literale erstellen können in
Python
Fließkommazahlen mithilfe ihrer Literale Das muss
einen Dezimalpunkt enthalten. Gleichzeitig benötigen
Sie die nachfolgenden oder führenden
Nullen in diesen Literalen nicht , sodass nur das
Dezimaltrennzeichen an der richtigen Stelle bleibt Sie können
Fließkommaliterale mithilfe
der wissenschaftlichen Notation angeben ,
die als E-Notation
bekannt ist . Mit dieser Notation können Sie
wirklich große oder sehr kleine
Fließkommazahlen
präzise ausdrücken wirklich große oder sehr kleine Fließkommazahlen
präzise Die zweite Art,
Fließkommazahlen und
Python zu definieren , nutzt
die eingebaute Float-Funktion. Wenn Sie die Funktion
ohne Argumente aufrufen, gibt
sie eine
Fließkommazahl gleich Null zurück. Sie werden
sie jedoch fast
immer mit einem Argument aufrufen , um einen
anderen Datentyp in eine
Fließkommazahl umzuwandeln . Insbesondere können Sie eine Zeichenfolge
konvertieren, die aus Dezimalziffern und
einigen Sonderzeichen wie dem Minuszeichen besteht, oder Sie können eine Ganzzahl
oder sogar eine andere
Fließkommazahl konvertieren . Es gibt auch einige spezielle
Fließkommawerte , die Sie mit
Hilfe der Float-Funktion ermitteln können. Sie sind die negative Unendlichkeit, positive Unendlichkeit
und keine Zahl. Okay, jetzt, wo Sie sich mit ganzen
Zahlen und
Fließkommazahlen auskennen , ist
es an der Zeit zu lernen, wie
Sie sie in
arithmetischen Ausdrücken
in Python verwenden können arithmetischen Ausdrücken
55. Arithmetik- und Vergleichsoperatoren: Hallo, alle zusammen. Hier ist Andreas. Und in dieser Vorlesung werden
wir etwas über
arithmetische Operatoren lernen, und wir werden ein Dutzend Beispiele verwenden, um sie vollständig
zu verstehen Also starte Shell und
lass uns anfangen. Operatoren helfen uns dabei,
die üblichen mathematischen
Operationen an Variablen durchzuführen die üblichen mathematischen
Operationen an Variablen arithmetischen Operatoren
in Python gehören Addition, Subtraktion,
Multiplikation, Division, Unterteilung, auch
Ganzzahldivision genannt, Modulo,
Potenzierung, unäre positive und unäre Negation Ich habe eine PDF-Datei
mit einer schönen Tabelle mit dem Operator, einem Beispiel, der Bedeutung und
dem Ergebnis beigefügt mit einer schönen Tabelle mit dem Operator, einem Beispiel, der Bedeutung und
dem Ergebnis . Sie können es von
Ihren Ressourcendateien aus öffnen. Hier sind einige Beispiele für die Verwendung
dieser Operatoren. A entspricht zehn, B entspricht drei. Addition A plus B. Das Ergebnis ist 13. Subtraktion, A minus B. Das Ergebnis ist Sieben,
Multiplikation
A, multipliziert mit B.
Das Ergebnis ist 30. Division, A, dividiert durch B. Geben Sie ein. Das Ergebnis ist
3,333 usw. Der Operator der Division
ist ein Schrägstrich. Das Ergebnis einer
Standarddivision ist immer eine Gleitkommazahl, auch wenn die Dividende gleichmäßig durch den
Divisor teilbar ist Unterteilung im Stockwerk. A,
Geschossunterteilung B entspricht drei Der Operator der
Stockwerksabteilung ist der doppelte Schrägstrich. Das Ergebnis der
Stockwerksteilung ist der Quotient , aus dem A durch B geteilt und auf die
nächstkleinere ganze Zahl gerundet wird die
nächstkleinere ganze Wenn das Ergebnis der
Geschossteilung positiv ist, ist
es so, als ob der
Bruchteil abgeschnitten wurde, sodass nur der
ganzzahlige Teil übrig bleibt Wenn das Ergebnis negativ ist, wird
das Ergebnis auf
die nächstkleinere oder
größere negative Ganzzahl abgerundet die nächstkleinere oder
größere negative Ganzzahl Modulus, A, Modulo B entspricht Eins. Der Operator von Modulo ist das
Prozentzeichen. Das Ergebnis von Modulo ist
der Rest, wenn A durch B
geteilt wird durch B
geteilt A, Exponent B entspricht 1.000. Der Operator der Erklärung
ist das Doppel-Asterix. Das Ergebnis der Potenzierung ist A, potenziert mit B.
In der Programmierung
wird das Gleichheitszeichen als Zuweisungszeichen bezeichnet Das bedeutet, dass wir
den Wert, der auf
der rechten Seite des Gleichheitszeichens basiert, der Variablen
auf der linken Seite zuweisen der rechten Seite des Gleichheitszeichens basiert, der Variablen
auf der linken Außerdem haben die Anweisungen
A gleich B und
B gleich A in der Programmierung sehr unterschiedliche
Bedeutungen Öffnen Sie beispielsweise
den Leerlauf-Editor und geben Sie den folgenden Code Lassen Sie uns das Programm
mit F 5 oder für das Menü ausführen. Wir müssen es zuerst speichern. Und sieh dir die Ergebnisse an. A ist gleich 20 und B ist gleich 20. Obwohl A in der ersten Zeile einen Anfangswert
von zehn hat , weist
die dritte Zeile A gleich B den Wert von B A zu,
wodurch der Wert von A auf 20 geändert wird, während der Wert von Entscheidend ist der Vorrang mathematischer
Operatoren. Die Reihenfolge der Operationen der mathematischen
Python-Operatoren
ähnelt der der Mathematik. Der Exponentenoperator
wird zuerst ausgewertet. die Operatoren Multiplikation,
Division, Unterteilung und Modul Als Nächstes werden die Operatoren Multiplikation,
Division, Unterteilung
und Modul
von links nach rechts
ausgewertet Die Additions- und
Subtraktionsoperatoren werden zuletzt ausgewertet, ebenfalls von links nach rechts Sie können bei Bedarf Klammern verwenden, um die übliche
Rangfolge
außer Kraft zu setzen Lassen Sie uns zur interaktiven
Shell springen, um einige Beispiele zu sehen. Das Ergebnis ist 13 , weil die Multiplikation zuerst ausgewertet
wird Setzen wir nun fünf und zwei in
Klammern . Das Ergebnis ist 28. Da die Klammer
die meisten Präzedenzfälle hat, wollen wir uns ein anderes Beispiel ansehen. Das Ergebnis ist drei, weil die Klammer die höchste Priorität hat Das entspricht also drei,
und das entspricht fünf, und das Endergebnis Machen Sie sich keine Gedanken über den
Vorrang mathematischer Operatoren. Es ist Pythons Aufgabe,
Teile des Ausdrucks auszuwerten. Wenn Sie
Fragen zu grundlegenden Operatoren haben , stellen
Sie diese bitte. Ich
helfe Ihnen gerne weiter. Danke fürs Zuschauen.
56. Logische (Boolean) und verkettete Vergleichsoperatoren: Hallo Leute, Whatsap?
In diesem Video erfahren
Sie, wie
Sie die drei
wichtigsten logischen Operatoren
in mehreren Kettenvergleichen verwenden wichtigsten logischen Operatoren in mehreren Kettenvergleichen Lassen Sie uns also direkt zur Lektion übergehen. Wenn Sie
boolesche Werte vergleichen möchten, gibt es drei boolesche
Operatoren und oder und Null Die logischen Operatoren nicht
oder und und modifizieren und
verbinden Ausdrücke, die im
booleschen Kontext
ausgewertet werden booleschen Hier ist die Tabelle, die Sie
auch als PDF-Datei finden können. Lassen Sie uns diese
Operatoren nacheinander erklären. Der Operator and gibt true zurück
, wenn alle Bedingungen erfüllt sind. Andernfalls wird False zurückgegeben. Beispielsweise gibt die Aussage, drei größer als eins
und fünf größer als vier, wahr zurück, da
beide Bedingungen wahr sind, aber drei größer als
eins und fünf kleiner als vier gibt falsch zurück da eine von zwei
Bedingungen falsch ist. Der Operator oder gibt
wahr zurück , wenn mindestens eine
Bedingung erfüllt ist. Andernfalls wird falsch zurückgegeben. Die Aussage Drei größer
als eins oder fünf weniger als vier gibt wahr zurück, da die erste Bedingung drei
größer als eins wahr ist. Der Nicht-Operator gibt wahr zurück, wenn die Bedingungen nach
dem t falsch sind, andernfalls wird falsch zurückgegeben. Die Aussage nicht vier größer als fünf
gibt wahr zurück, da vier nicht
größer als fünf ist. Der Nein-Operator
ergibt also einfach den
entgegengesetzten Bolein-Wert Ein spannendes Feature von Python
ist die Fähigkeit,
mehrere Vergleiche zu verketten , um einen komplexeren Test
durchzuführen. Vergleichsoperatoren können beliebig miteinander
verkettet werden Geben Sie beispielsweise fünf
größer als drei, größer als eins ein und geben Sie ein Das ist wahr, weil Python zuerst
prüft, ob fünf
größer als drei ist und dann,
ob drei größer als eins ist. Lassen Sie uns ein weiteres Beispiel
mit booleschen Ausdrücken , die Vergleichsoperatoren
in der interaktiven Shell verwenden Eins weniger als drei und
drei weniger als fünf. Und tritt ein. Das ist
ein Syntaxfehler. Warum? Weil ich
Großbuchstaben eingegeben habe, was falsch ist Lass es uns ändern und erneut eingeben. Das ist wahr, weil
beide Bedingungen in den Klammern wahr sind Ich hoffe, du verstehst
die booleschen Operatoren. Machen Sie Ihre Beispiele
zu Hause, um sie vollständig zu verstehen. Danke fürs Zuschauen. Wir
sehen uns in der nächsten Vorlesung.
Tschüss.
57. Gleitkomma-Darstellungsfehler: Hallo, alle zusammen. In dieser Lektion lernen
wir den
Darstellungsfehler kennen, der sich auf
die Genauigkeit
von Fließkommazahlen in
praktisch jeder
Programmiersprache, einschließlich Python, auswirkt . Bevor wir uns mit
Fließkommazahlen befassen, ist es hilfreich, einen Schritt zurückzutreten und über
Festkommazahlen nachzudenken. Dies ist eine
der einfachsten Möglichkeiten, ist eine
der einfachsten Möglichkeiten reelle
Zahlen in Computern darzustellen. Die Idee hinter
Festkommazahlen besteht darin, dem ganzen Teil und
dem Bruchteil
eine bestimmte Anzahl von Ziffern zuzuweisen eine bestimmte Anzahl von Ziffern ganzen Teil und
dem Bruchteil Daher sind die Platzierung
des Dezimalpunkts sowie die Gesamtzahl der Ziffern im Voraus
bekannt und ändern sich Voraus
bekannt und ändern Das größte Problem bei einer
solchen Darstellung ist ihre Speicherineffizienz, wodurch der verfügbare Wertebereich, den Sie
verwenden können, eingeschränkt Wertebereich, den Sie
verwenden können, Beachten Sie in diesen Beispielen, wie viel Leerraum leer
bleibt , wenn er mit
Nullen gefüllt
wird Fließkommazahlen
hingegen können
sich an die Größe der
Zahl anpassen, für die sie stehen Bei der
Darstellung von Fließkommazahlen kann
der Dezimalpunkt nach links oder rechts verschoben werden, um
verschiedenen Zahlengrößen Rechnung zu tragen. Auf diese Weise können Sie
den verfügbaren Speicherplatz
effektiver nutzen ,
ohne Speicherplatz zu verschwenden Wirklich große Zahlen,
wie die Lichtgeschwindigkeit, erfordern normalerweise
nicht
viel Präzision Es ist also wahrscheinlich in
Ordnung, mehr Speicher für
die signifikanten Ziffern zuzuweisen und gleichzeitig den Bruchteil Umgekehrt profitieren kleinere Zahlen wie
die Größe eines Atoms davon, die Anzahl der Nachkommastellen
zu erhöhen, indem
das Dezimalkomma nach links verschoben
wird Anzahl der Nachkommastellen
zu erhöhen, indem
das Dezimalkomma Dezimalkomma Solange Sie
damit einverstanden sind, Genauigkeit gegen die Größe einer Zahl
und umgekehrt einzutauschen, können
Sie
einen riesigen Zahlenbereich
auf relativ
kleinem Speicher speichern einen riesigen Zahlenbereich auf relativ
kleinem Je größer die
Fließkommazahl ist, desto geringer ist ihre Genauigkeit. Gleichzeitig haben
kleinere Zahlen tendenziell eine
höhere Genauigkeit. Nun wissen Sie, dass
Fließkommazahlen ihren Namen
der Art und Weise
verdanken, wie sie im Arbeitsspeicher eines
Computers
dargestellt werden. Sie sind im Wesentlichen
wissenschaftliche Schreibweise
im Binärsystem mit
einigen zusätzlichen Extras, was sie in Bezug
auf die Speichernutzung exponentiell
effizient macht in Bezug
auf die Speichernutzung exponentiell
effizient Leider ist der Preis für eine
solche Darstellung
der Verlust der Fähigkeit,
einige Zahlen exakt auszudrücken, was zu sehr
überraschenden Ergebnissen führen kann,
wie dem, das Sie
auf der aktuellen Folie sehen können Schauen Sie sich ein paar
Beispiele in IDL an. Wenn Sie 0,1
plus 0,2 in Python eingeben, erhalten
Sie ein Ergebnis, das dem, was Sie erwarten würden, ziemlich
nahe kommt,
aber nicht genau richtig ist was Sie erwarten würden, ziemlich
nahe kommt, . Der Grund für dieses
seltsame Ergebnis liegt darin, dass die beiden Zahlen, die
Sie zu
addieren versuchen , keine
exakte Darstellung
für den Datentyp
Fließkomma haben , der nur eine Näherung
der reellen Zahlen darstellt Standardmäßig
zeigt Python nur die signifikantesten
Ziffern einer Zahl an. Um die verbleibenden Zahlen aufzudecken, können
Sie Ihre
Zahl formatieren und
beispielsweise 100 Dezimalziffern anfordern . Der
Flow-Datentyp enthält
jedoch nur etwa 55 Ziffern. Wenn Sie mehr Ziffern anfordern, füllt Python die
Zahl rechts mit Nullen auf , da
nicht genügend Informationen vorhanden Nun, woher kommen all diese scheinbar zufälligen
Ziffern Ohne zu technisch zu werden, müssen
Sie bedenken,
dass Computer
alle Zahlen im
Binärsystem
nur mit Einsen und Nullen speichern alle Zahlen im
Binärsystem
nur mit und nicht mit
dem Dezimalsystem
mit den zehn Ziffern 0-9 Wenn Sie ein
Zehntel oder zwei
Zehntel in das Binärsystem
umrechnen , erhalten
Sie am Ende eine wiederkehrende binäre Zeichenfolge
, die sich , die Es ist ein bekanntes Problem, mit dem
Sie auch im Dezimalsystem konfrontiert werden Wenn Sie beispielsweise versuchen,
ein Drittel darzustellen, ist
das Ergebnis 0,3, was immer wieder vorkommt, weil
Computer nicht über unendlich
viel Arbeitsspeicher verfügen Irgendwann müssen sie
nur noch
die binäre Zeichenfolge abschneiden und die Ergebnisse auf
den nächsten
darstellbaren Wert runden Ergebnisse auf
den nächsten
darstellbaren Auf der anderen Seite können Sie,
solange Sie
im Bereich
des Binärsystems bleiben , eine Zahl
exakt
darstellen, indem
Sie einen Fließkomma-Datentyp verwenden Ein Viertel
ist beispielsweise eine Zweierpotenz, es hat
also eine endliche
binäre Expansion Das Gleiche gilt für eine Hälfte. Wenn Sie sie zusammenzählen, erhalten
Sie ein genaues Ergebnis
ohne Rundungsfehler Um es noch einmal zu wiederholen: Eine
Fließkommazahl ist normalerweise nur eine
Annäherung an die reelle Zahl, ähnlich wie beispielsweise die
verlustbehaftete Komprimierung in JPEG-Bildern Machen Sie sich keine Sorgen, wenn Ihnen
dadurch der Kopf schwirrt. In den meisten technischen
Anwendungen bewegt sich der Fehler bei der
Darstellung von
Fließkommazahlen innerhalb
akzeptabler Grenzen, und die Ergebnisse
sind zufriedenstellend Bei wissenschaftlichen oder
finanziellen Berechnungen macht sich
der Rundungsfehler In diesen Fällen sollten Sie sich mit anderen numerischen Typen
befassen, z. B. mit dem Dezimaltyp, der bereits in diesem Kurs
erwähnt wurde Okay. Nachdem das geklärt ist, ist
es an der Zeit,
sich
die mathematischen Funktionen und
Zahlenmethoden in Python genauer anzusehen .
58. Mathematische Funktionen und Zahlenmethoden: In dieser Lektion lernen
Sie
die gängigsten Funktionen kennen , mit denen Sie in Python mit
Zahlen arbeiten können. Sie werden auch
einige nützliche Verhaltensweisen
von Ganzzahlen und
Fließkommazahlen entdecken von Ganzzahlen und
Fließkommazahlen Lassen Sie uns ohne weitere Umschweife gleich darauf eingehen. Die erste Funktion, auf die
Sie beim Verarbeiten von Zahlen in Python
stoßen können ,
ist die runde Standardmäßig verwendet sie eine Fließkommazahl und
gibt die nächste Ganzzahl zurück beispielsweise 2,3 als
Argument übergeben, wird die
Zahl abgerundet und zwei zurückgegeben. Andererseits wird eine Zahl
wie 2,7 aufgerundet. Die Dinge werden unerwarteter
, wenn Ihre Ziffer auf Fünf endet. Dies wird als Gleichstand bezeichnet
, da die Entfernung zur nächsten ganzen Zahl
genau gleich ist , unabhängig davon, ob
Sie auf- oder abrunden. Python verfolgt eine
Strategie, bei der
solche Unstimmigkeiten gelöst werden, indem
auf die nächste gerade Zahl gerundet wird In diesem Fall ist diese
Zahl zwei. Im Fall von 3,5 ist
die nächste gerade Zahl jedoch vier. Diese Wahl wurde bewusst getroffen
, um die Auswirkungen der
Rundung auf Operationen
mit vielen
Fließkommazahlen so gering Rundung auf Operationen mit vielen
Fließkommazahlen Eine weitere interessante Tatsache über die Funktion
round in Python ist, dass Sie ihr optional ein zweites Argument
übergeben können, das
angibt, wie viele
Dezimalziffern Sie runden möchten. Wenn Sie beispielsweise
eine Näherung von Pi haben, können
Sie sagen, dass die Zahl
zwei, drei Dezimalstellen rundet Beachten Sie, dass Sie als Ergebnis
diesmal eine
Fließkommazahl
erhalten , da in diesem Beispiel fünf die
letzte Ziffer war Das bedeutet, dass es einen Gleichstand gibt. Anstatt jedoch auf die
nächste gerade Ganzzahl zu runden, betrachtet
Python die vorletzte
Ziffer, betrachtet
Python die vorletzte um über
die Rundungsrichtung zu entscheiden In diesem Fall ist zwei die
nächste gerade Zahl. Dies funktioniert jedoch nicht
immer richtig. Wenn Sie versuchen,
eine Zahl wie
2,675 auf zwei Dezimalstellen zu runden , würden
Sie erwarten, 2,68
als Ergebnis zu erhalten , da acht die nächste gerade Zahl
ist Aber wenn Sie diesen Code tatsächlich
ausführen, werden
Sie feststellen, dass Python
abrundet statt aufwärts. Es ist kein Fehler in der
runden Funktion selbst, sondern das Ergebnis dieses Fehlers bei der
Darstellung von Fließkommazahlen
, von Fehlers bei der
Darstellung von Fließkommazahlen
, Sie in
der vorherigen Lektion erfahren haben. Okay. Die nächste
Funktion, die sich auf Zahlen in Python bezieht und die Sie vielleicht verwenden
möchten, heißt abs, was die Abkürzung für
Absolutwert ist. Sie nimmt eine Zahl und gibt
ihre Größe ohne das Vorzeichen zurück. Der absolute
Wert von 42 ist beispielsweise 42. Gleichzeitig ist der absolute
Wert von -42 ebenfalls 42. Sie können die
Apps-Funktion Ganzzahlen als auch für
Fließkommazahlen In jedem Fall erhalten Sie immer den positiven Wert einer Zahl. Wenn Sie jedoch
die ABS-Funktion für
eine komplexe Zahl aufrufen , erhalten
Sie die
sogenannte Größe einer komplexen Zahl, die mit
der entsprechenden Formel berechnet wird. einer der nächsten Lektionen werden Sie sich
komplexe Zahlen genauer ansehen . Dies sind die
wichtigsten Anwendungsfälle für die ABS-Funktion in Python. Schließlich ist die dritte und
letzte Funktion, die Sie in dieser
Lektion kennenlernen werden, die Potenzfunktion. Sie bietet eine
explizitere Möglichkeit eine Zahl auf
die angegebene Potenz zu
erhöhen verglichen mit dem
doppelten Asterix- oder Exponentialoperator, den Sie zuvor
kennengelernt haben Die Potenzfunktion
benötigt zwei Argumente. Die erste ist die Basis oder die Zahl, die
potenziert werden soll. Und das zweite Argument
ist der Exponent oder die Potenz, auf die die
Zahl erhöht werden soll Wie beim
Exponentialoperator können
Sie negative oder
gebrochene Exponenten und Basen verwenden Während beide Methoden
zur Berechnung
der Potenz einer Zahl in Python größtenteils gleich
funktionieren, akzeptiert
die Potenzfunktion
ein optionales drittes Argument solange alle drei
Argumente ganze Zahlen sind Es ist eine Kurzschreibweise für den Modulo-Operator das Ergebnis einer solchen
Potenz Sie können dies
kompakter schreiben den dritten Wert
als
optionales Argument übergeben Bevor wir die Begeisterung beenden, lohnt
es sich zu erwähnen,
dass die Zahlen in Python einige
nützliche Methoden bereitstellen, genau wie Strings, an die Sie sich vielleicht aus
einem früheren Abschnitt erinnern Sie können beispielsweise überprüfen, ob eine Fließkommazahl einen Integer-Wert
ohne Bruchteil
enthält , indem Sie
sie als Integer-Methode aufrufen Beachten Sie jedoch, dass
Sie
zum Aufrufen einer Methode in Python den Punktoperator verwenden müssen
, der zufällig auch der Dezimalpunkt in
Fließkommaliteralen Um diese Mehrdeutigkeit zu vermeiden, können
Sie Ihr numerisches
Literal Denken Sie daran, dass ein numerisches Literal ohne Dezimalpunkt eine Ganzzahl darstellt Wenn Sie expliziter sein
möchten, können
Sie Ihre
Zahl alternativ einer Variablen zuweisen Und rufen Sie die Methode eher für
die Variable
als für das Literal auf eher für
die Variable
als für das Literal In diesem Fall
ist 3,14 keine Ganzzahl, sondern Dreipunkt-Oh Eine weitere nützliche
Methode, die für
Gleitkommazahlen verfügbar ist, ist das Ganzzahlverhältnis Dies gibt ein Paar von ganzen Zahlen zurück , deren Verhältnis genau dem ursprünglichen
Float entspricht In diesem Fall sind die
Zahlen ziemlich groß, aber Sie können etwas
mehr als drei
Viertel versuchen , um ein Verhältnis zu erhalten, das aus kleineren Zahlen
besteht Für Ganzzahlen gibt es auch
einige hilfreiche Methoden. Welche von ihnen kann Ihnen sagen wie viele Bits Sie benötigen, um eine Zahl
im Binärsystem
darzustellen Eine Zeichenfolge, die
aus den Binärziffern 10,
Eins, Null, 10 besteht, steht beispielsweise für
die Dezimalzahl 42. Sie benötigen also mindestens sechs Bits, um dieselbe
Zahl im Binärsystem
originalgetreu auszudrücken Sie können dies bestätigen, indem Sie
die Bitlängenmethode
auf der Nummer 42 aufrufen die Bitlängenmethode
auf der Nummer 42 Es gibt auch eine ähnlich
benannte Bit-Count-Methode, die Ihnen sagt, wie viele
dieser Bits
tatsächlich aktiviert sind. Die ursprüngliche Bitfolge
hat drei Einsen und 30, der Rückgabewert ist
also drei. Um noch einmal zusammenzufassen, was Sie
gerade gelernt haben Python enthält einige eingebaute mathematische Funktionen für die Arbeit
mit diesen Zahlen Es hat die Rundungsfunktion, die eine
Fließkommazahl
entweder auf die nächste ganze Ganzzahl
oder auf die angegebenen
Dezimalstellen rundet entweder auf die nächste ganze Ganzzahl , die Sie nicht als
zweites Argument
der Funktion angeben können zweites Argument
der Funktion Gleichheiten werden gelöst, indem
auf die nächste gerade Zahl gerundet wird Fehler bei der
Darstellung von Fließkommazahlen
beeinträchtigen
jedoch manchmal die erwartete
Rundungsrichtung Die AB-Funktion gibt den
absoluten Wert
einer Zahl oder den Betrag einer komplexen
Zahl zurück einer Zahl oder den Betrag einer komplexen
Zahl Die Potenzfunktion führt weitgehend dieselbe
mathematische Operation wie der
Potenzierungsoperator in Python, bietet
aber auch eine
Kurzschreibweise für die
Berechnung des Modulos
der resultierenden Sie werden auch lernen, dass
die Fließkommazahlen in Python einige Methoden bereitstellen, z. B. die I-Integer-Methode, die überprüft, ob der Wert eine ganze Zahl
ist oder nicht. Das Verhältnis als Ganzzahl gibt dagegen ein Paar Ganzzahlen
zurück, deren Verhältnis
der Fließkommazahl entspricht Ganzzahlen haben auch
ihre Methoden. Sie können zum Beispiel feststellen, wie viele Bits Sie benötigen
, um sie
im Binärsystem darzustellen , oder wie viele dieser
Bits beleuchtet sind Als Nächstes
lernen Sie, wie Sie Zahlen als
Zeichenketten formatieren , wenn Sie
sie dem Benutzer zusammen mit
anderem Text anzeigen möchten .
59. Als Strings formatierte Zahlen: In dieser Lektion lernen Sie, wie Sie Zahlen stilvoll drucken Oft möchten Sie Ihre Zahlen mit
zusätzlichem Text
kombinieren , bevor Sie sie dem Benutzer
präsentieren. Möglicherweise möchten Sie den Preis
eines Produkts in einen hübschen Platzhalter
in
einer Nachricht mit Vorlagen
einfügen hübschen Platzhalter
in
einer Nachricht mit Vorlagen Traditionell gab es
viele Möglichkeiten,
Zahlen in Python zu formatieren. Sie können beispielsweise
die Formatierungsfunktion aufrufen, die Sie bereits in diesem Kurs
gesehen haben, um die Dezimalziffern
einer Fließkommazahl aufzudecken. Die meisten
Programmierer verwenden heute jedoch formatierten
Zeichenkettenliterale oder F-Strings von
Python, die einfacher aussehen und
noch mehr Funktionalität bieten Sie können eine
formatierte Zeichenfolge erstellen indem Sie Ihrem
normalen Zeichenkettenliteral entweder einen Klein
- oder Großbuchstaben F voranstellen. In den meisten Fällen funktioniert
es wie eine
normale Zeichenfolge, sodass Sie ,
indem Sie Ihrem
normalen Zeichenkettenliteral
entweder einen Klein
- oder Großbuchstaben
F voranstellen. In den meisten Fällen funktioniert
es wie eine
normale Zeichenfolge,
sodass Sie Ihre Nachricht dort eingeben können. Dieses Produkt kostet beispielsweise 3,90$. Im Gegensatz zu einer
normalen Zeichenfolge können Sie mit
einer F-Zeichenfolge jedoch zusätzlich einen oder
mehrere Platzhalter für Werte angeben oder
mehrere Platzhalter für Werte zu einem späteren Zeitpunkt gefüllt werden sollen Angenommen, Sie möchten Ihre
Werbebotschaft
auf viele Produkte
mit unterschiedlichen Preisen reduzieren auf viele Produkte
mit unterschiedlichen Preisen Sie können eine
Hilfsvariable mit dem Preis
eines Produkts deklarieren und dann den konkreten Wert in
Ihrer F-Zeichenfolge durch einen
Platzhalter
ersetzen , indem Sie
die geschweiften Klammern verwenden und den Namen
Ihrer Variablen
einfügen Es hat gut funktioniert.
Beachten Sie jedoch, dass die nachfolgende Null
im Produktpreis
aufgebraucht wurde Zum Glück
unterstützen diese geschweiften Klammern eine einfache
Formatierungssprache, mit
der
Sie das Aussehen des Werts in
der endgültigen
formatierten Zeichenfolge ändern Werts in
der endgültigen Um beispielsweise den Preis
mit genau zwei
Dezimalstellen anzuzeigen , können
Sie Ihrem Platzhalter einen optionalen
Formatbezeichner hinzufügen Formatbezeichner Der Doppelpunkt trennt
einen
auszuwertenden Ausdruck, z. B. eine Variable,
vom Formatbezeichner In diesem Fall ist der
Bezeichner 0,2 F, wodurch die Zahlen auf zwei Dezimalstellen
gerundet Der Buchstabe F weist Python an, den Preis
als feste Punktzahl
anzuzeigen. Wenn ein Preis höher wird, können
Sie
Kommas einfügen, um
den ganzzahligen Teil der größeren
Zahl durch Tausende zu gruppieren den ganzzahligen Teil der größeren
Zahl durch Tausende Eine weitere nützliche Funktion
der formatierten Zeichenketten in Python ist die Möglichkeit, Zahlen als Prozentsätze zu
formatieren Wenn Sie beispielsweise
eine Bruchzahl
wie 0,91 23 haben , können Sie festlegen, dass Python sie
automatisch als
Prozentsatz
anzeigt , der auf
die angeforderte Anzahl
von Dezimalstellen gerundet die angeforderte Anzahl
von Dezimalstellen Y Die Mini-Formatierungssprache ist mächtig und umfangreich Sie haben zwar bisher nur
die Grundlagen gesehen, hier sind noch ein paar weitere Beispiele. Sie können das Video jetzt anhalten
und es sich ansehen oder sich die beigefügten
PDF-Folien später ansehen. Ordnung. In der nächsten Lektion werden
Sie sich erneut mit komplexen
Zahlen in Python befassen Aber vorher machen wir
eine Übung, um die Lektion vollständig zu
verstehen
60. ÜBUNG: Einen Prozentsatz anzeigen: Sie sind fast an
der Ziellinie, wenn es darum geht,
Zahlen in Python zu formatieren. In dieser letzten Übung formatieren
Sie
einen Dezimalbruch
als Prozentwert ohne
Dezimalstellen. Du schaffst das. Ich habe Vertrauen in dich.
61. LÖSUNG: Einen Prozentsatz anzeigen: Wenn Sie zwei durch zehn teilen, erhalten
Sie eine
Fließkommazahl mit einer Dezimalziffer. Sie können dies als
Prozentsatz formatieren, indem den prozentualen Sinus als
Formatspezifikation verwenden. Wenn Sie dem gefolgt sind, können Sie sich vorstellen, wie Sie Null Dezimalstellen
anfordern können. Das ist richtig. Du stellst dem Prozentsinus eine.in
Null Syntax können Sie dieselbe Syntax in Für
eine kompaktere Syntax können Sie dieselbe Syntax in
einem F-String-Literal Okay. Nun, diese Übung
war nicht allzu schwierig. Es ist an der Zeit, zu
einem anderen Abschnitt
dieses Kurses überzugehen , in dem Sie mit dem
Benutzer interagieren werden. Danke fürs Zuschauen.
62. Komplexe Zahlen: Ordnung. In dieser Lektion gehen
Sie auf einige
Grundlagen der Arbeit mit komplexen Zahlen in
Python ein. Lassen Sie uns also eintauchen. Da komplexe
Zahlen außerhalb der Bereiche des
wissenschaftlichen
Rechnens und der Computergrafik selten verwendet Bereiche des
wissenschaftlichen
Rechnens und der werden, wurden sie in diesem Abschnitt
zuvor nur kurz erwähnt. diese Lektion aber auch überspringen, wenn Sie kein Interesse
daran haben, mit komplexen Zahlen zu arbeiten. Python ist eine der wenigen
Programmiersprachen, die native Unterstützung
für komplexe Zahlen
bietet. Sie können sich eine
komplexe Zahl als ein Paar vorstellen das
aus dem Realteil
und dem Imaginärteil Es gibt zwei Möglichkeiten,
komplexe Zahlen in Python zu erstellen. Sie können entweder die eingebaute
komplexe Funktion aufrufen , wobei
diese beiden Teile als
Argumente übergeben werden, oder Sie können eine spezielle Syntax
verwenden, um
ein komplexes Zahlenliteral zu definieren Beachten Sie den Buchstaben J
neben der zweiten Zahl, der
die
sogenannte imaginäre Einheit angibt Mathematiker
verwenden normalerweise den Buchstaben I, um eine imaginäre Einheit zu bezeichnen,
aber Python folgt einer Notation, aber Python folgt einer Notation von Ingenieuren
verwendet wird, um zu
vermeiden, dass er mit
einem Kleinbuchstaben L oder
einer Ziffer verwechselt einem Kleinbuchstaben L oder wird, die in Ihrem Code
vorkommen könnte Wenn Sie die
imaginäre Einheit weglassen, wird Ihr komplexes Zahlenliteral zu einem regulären
arithmetischen Ausdruck, der zwei wird Ihr komplexes Zahlenliteral zu einem regulären
arithmetischen Ausdruck, der zwei Zahlen addiert. Sie können die imaginäre
Einheit einer
dieser beiden Zahlen
in einem komplexen
Zahlenliteral zuordnen, um dieser beiden Zahlen
in einem komplexen
Zahlenliteral Zahlenliteral Wenn Sie nur die imaginären
Zahlen in Ihrem Literal haben, addiert Python sie und erzeugt eine komplexe Zahl
ohne den Realteil Aber es ist immer noch eine komplexe Zahl. Normalerweise würden Sie einer
Variablen wie Z
eine komplexe Zahl zuweisen . Die
Verwendung des Buchstabens Z für
eine komplexe Zahl ist eine historische Konvention, die auf Carl Friedrich Goss
zurückgeht auf Carl Friedrich Goss
zurückgeht Genau wie Ganzzahlen und
Fließkommazahlen haben
komplexe Zahlen in Python einige
interessante Attribute und Methoden Sie können beispielsweise die Real- und Imaginärkomponenten
einer komplexen Zahl anhand ihrer
realen und imaginären einer komplexen Zahl anhand ihrer
realen und imaginären Beachten Sie, dass die Real- und
Imaginärteile als
Fließkommazahlen gespeichert werden , auch wenn Sie eine komplexe Zahl
in Form von ganzen Zahlen
definieren Sie können auch eine
Konjugation einer komplexen Zahl
berechnen , indem Sie deren Methode Konjugat
aufrufen Ein Konjugat dreht das Vorzeichen der imaginären Einheit um. Tatsächlich haben alle Zahlen in Python, einschließlich Ganzzahlen und
Fließkommazahlen die Attribute real und image sowie die konjugierte Aus mathematischer Sicht ist das nicht überraschend,
da komplexe Zahlen
eine Obermenge reeller Zahlen sind Bei Ins und Floats das Real-Attribut und die Methode conjugate die Zahl selbst
zurück,
während das Bildattribut Komplexe Zahlen unterstützen alle arithmetischen
Operatoren, die Sie
kennen gelernt haben, mit Ausnahme
der Integer-Division und des Modulo-Operators der Integer-Division und des Modulo-Operators Andernfalls können Sie
zwei komplexe Zahlen hinzufügen. Sie können sie subtrahieren. Multiplizieren. Und teile sie oder erhebe eins zu einer Macht. Aber Sie können
die Geschossteilung nicht verwenden. Sie können auch nicht den
Rest einer Division berechnen, die nur
für ganze Zahlen definiert ist. Zusammenfassend lässt sich sagen, dass Sie eine komplexe Zahl entweder
mit der eingebauten komplexen Funktion oder
mit dem
komplexen
Zahlenliteral
definieren können eine komplexe Zahl entweder
mit der eingebauten komplexen Funktion oder
mit dem
komplexen
Zahlenliteral
definieren Funktion oder
mit dem
komplexen
Zahlenliteral , bei dem der Buchstabe J an den Imaginärteil
geklebt Sie können auch auf
Ihre komplexen Zahlen,
Attribute und Methoden zugreifen, um den Realteil, den Imaginärteil, zu ermitteln und
das Konjugat zu
berechnen
63. Der Rest (% Modulo) Operator: In Python
ist das Prozentsymbol der Restoperator. Dies wird als
Modulo-Operator bezeichnet. Der Restoperator
führt eine Division durch, aber nicht den Quotienten zurück, sondern In der folgenden Anweisung wird
Leftover zwei zugewiesen. Geben wir ein, dass
Leftover gleich 17 ist. Geben Sie das perfekte Symbol ein, drei. Lassen Sie uns nun die
übrig gebliebene Variable drucken. Wenn ich den Code ausführe, wird das
Ergebnis zwei sein. Diese Anweisung ordnet übrig
zwei zu, weil 17/3 fünf ist und der Rest zwei ist Der Rest-Operator ist in bestimmten Situationen
nützlich. Er wird häufig für
Berechnungen verwendet, bei denen
Zeiten oder Entfernungen umgerechnet, ungerade oder gerade Zahlen
erkannt und andere
spezielle Operationen ausgeführt werden. Um
den Restoperator besser zu verstehen, werden
wir ein
Programm erstellen, das
die Anzahl der Sekunden
vom Benutzer abruft und sie
in die Anzahl
der Sekunden in eine Stunde,
Minute und Sekunden umrechnet . Zum Beispiel würde es
11.730 Sekunden in 3 Stunden,
15 Minuten und 30 Sekunden umwandeln 15 Minuten und 30 Sekunden Und hier ist die Programmausgabe , die wir erstellen werden Jetzt ist es an der Zeit, das
Video anzuhalten und es auszuprobieren. In Ordnung, wie bist du zurechtgekommen? Ich hoffe wirklich, dass du
es gut versucht hast. Lass uns die Übung
zusammen machen und den Code schreiben. Zuallererst werde ich einige Kommentare
schreiben. Kommentare sind ein wichtiger
Bestandteil der Programmierung. Sie ermöglichen es Ihnen,
dem Programmierer, jeden Teil dessen,
was Ihr Code tut, zu erklären In der nächsten Zeile werde ich
eine Variable namens Gesamtsekunden erstellen eine Variable namens Gesamtsekunden Ich möchte eine Anzahl von
Sekunden vom Benutzer erhalten. Konvertiert den Wert in einen Float. Und weist ihn dann der Variablen
Gesamtsekunden zu. Ich lasse eine leere Zeile und füge in Zeile vier einen Kommentar hinzu Ermitteln Sie die Anzahl der Stunden. Treten Sie ein. Ich habe insgesamt
Sekunden vom Benutzer und möchte
sie in Stunden umrechnen. Nennen wir die variablen Stunden. Eine Stunde hat 3.600
Sekunden. Diese Aussage teilt also
die Gesamtzahl der Sekunden durch 3.600. Beachten Sie, dass wir den
Integer-Divisionsoperator verwenden. Das liegt daran,
dass wir die Anzahl
der Stunden ohne Bruchteil angeben wollen . Jetzt ist es ein guter Zeitpunkt,
um die Anzahl der
verbleibenden Minuten zu ermitteln. Ich verwende die variablen Minuten. Zuerst verwende ich den
Integer-Divisionsoperator , um die Gesamtzahl der
Sekunden durch 60 zu dividieren. Dies gibt uns die
Gesamtzahl der Minuten. Dann werde ich den
Modulo-Operator verwenden , um die Gesamtzahl
der Minuten durch 60 zu teilen und den
Rest der Division zu erhalten Das Ergebnis ist die Anzahl
der verbleibenden Minuten. Der nächste Schritt besteht darin, die
Anzahl der verbleibenden Sekunden zu ermitteln. Nennen wir die Variable Sekunden. Eine Minute hat 60 Sekunden
. In dieser Aussage werde ich also
den Modulo-Operator verwenden, um
die Gesamtzahl der Sekunden durch 60 zu dividieren die Gesamtzahl der Sekunden durch 60 und den Rest
der Division zu erhalten Das Ergebnis ist die Anzahl
der verbleibenden Sekunden. Der letzte Schritt besteht darin,
die Ergebnisse mithilfe einer
Print-Anweisung anzuzeigen . A Zuerst werde
ich die Stunden ausdrucken. Dann die Minuten. Zuletzt drucke ich den zweiten. Jetzt ist es Zeit, den Code auszuführen. Python wartet darauf, dass der Benutzer die Sekunden einfügt, die
er konvertieren möchte. Ich gebe 11,730 Sekunden ein. Sie sind
mit der Ausgabe identisch. Auf diese Weise ist es einfacher
, die Antwort zu vergleichen. Es funktioniert super. Ich hoffe, Sie haben
die Bedeutung
des Rest-Operators verstanden . Wenn Sie Fragen haben, lassen
Sie es mich bitte wissen.
Danke fürs Zuschauen.
64. Zahlen mit der Eingabefunktion lesen: Die Eingabefunktion gibt die
Eingabe des Benutzers immer als Zeichenfolge
zurück, auch wenn der Benutzer numerische
Daten eingibt. Nehmen wir beispielsweise an,
Sie rufen die Eingabefunktion auf. Geben Sie die Zahl 72 ein und
drücken Sie die Eingabetaste. Der Wert, der von
einer Eingabefunktion zurückgegeben wird ,
ist die Zeichenfolge 72. Dies kann ein Problem sein,
wenn Sie den Wert in
einer mathematischen Operation
verwenden möchten . Mathematische Operationen können
nur für numerische
Werte ausgeführt werden , nicht für Zeichenketten. Glücklicherweise hat Python
eingebaute Funktionen, mit denen
Sie eine
Zeichenfolge in einen numerischen Typ konvertieren können. Diese beiden Funktionen
sind INT und Float. Nehmen wir zum Beispiel an, Sie
schreiben ein Lohn- und Gehaltsabrechnungsprogramm und möchten
die Anzahl der
Stunden ermitteln , die der Benutzer gearbeitet hat Schauen Sie sich den folgenden Code an. Die erste Anweisung ruft die Anzahl der Stunden
vom Benutzer ab und weist diesen Wert
als Zeichenfolge der
Zeichenkettenwertvariablen zu Die zweite Anweisung ruft die INT-Funktion auf und übergibt einen
Zeichenkettenwert als Argument Der Wert, auf den der
Zeichenkettenwert verweist
, wird in einen INT-Wert umgewandelt und der Stundenvariablen
zugewiesen. Dieses Beispiel veranschaulicht,
wie die INT-Funktion funktioniert, aber sie ist ineffizient, da
sie zwei Variablen erstellt Eine enthält die Zeichenfolge, die von der Eingabefunktion
zurückgegeben wird, von der Eingabefunktion
zurückgegeben und eine andere,
die die Ganzzahl enthält, die von
der INT-Funktion zurückgegeben
wird Der folgende Code zeigt
einen besseren Ansatz. Diese eine Anweisung
erledigt die gesamte Arbeit wie
die beiden zuvor gezeigten Anweisungen, und es wird
nur eine Variable erstellt. Diese eine Anweisung verwendet
verschachtelte Funktionsaufrufen. Der Wert, der für
die Ausgabefunktion zurückgegeben wird , wird
als Argument an die
INT-Funktion übergeben . So funktioniert es. Es ruft die Eingabefunktion auf,
um einen über die Tastatur eingegebenen Wert
abzurufen. Der Wert, der
von der Eingabefunktion zurückgegeben wird, ist
eine Zeichenfolge, die als
Argument an die INT-Funktion übergeben wird. Der INT-Wert,
der von der INT-Funktion zurückgegeben
wird , wird der Stundenvariablen
zugewiesen. Nach der Ausführung dieser Anweisung wird
die Stundenvariable dem über die Tastatur
eingegebenen Wert
zugewiesen , der in eine
Ganzzahl umgewandelt wurde. Schauen wir uns ein anderes Beispiel an. Angenommen, Sie möchten den Stundenlohn des
Benutzers ermitteln. Die folgende Anweisung fordert die Benutzer auf, diesen
Wert mit der Tastatur einzugeben,
wandelt den Wert in eine Gleitkommazahl um und weist ihn der
Lohnsatzvariablen zu I So funktioniert es Es ruft die Eingabefunktion auf,
um einen über die Tastatur eingegebenen Wert
abzurufen. Der Wert, der
von der Eingabefunktion zurückgegeben wird, ist
eine Zeichenfolge, die als
Argument an die Float-Funktion übergeben wird. Der Float-Wert,
der von der Float-Funktion zurückgegeben
wird , wird der Lohnsatzvariablen zugewiesen. Nach der Ausführung dieser Anweisung
wird
die Lohnsatzvariable dem über die
Tastatur eingegebenen Wert zugewiesen, der in einen Gleitkommawert umgewandelt wurde Um
all dies besser zu verstehen, machen
wir eine Übung Angenommen, Sie möchten ein Programm
schreiben, den Benutzer
auffordert, seinen Namen,
sein Alter und sein Einkommen
einzugeben , und
dann den Wert anzeigt, den
der Benutzer eingegeben hat. Hier ist die Programmausgabe. Halte das Video jetzt an und
schließe diese Herausforderung ab. In Ordnung, wie bist du zurechtgekommen? Ich hoffe wirklich,
du hast es gut versucht. Lass uns die Übung
zusammen machen und den Code schreiben. Fügen wir zuerst die
Kommentarzeile hinzu. In Zeile zwei wird der Benutzer
aufgefordert, seinen Namen einzugeben. Der eingegebene Wert wird der Namensvariablen als Zeichenfolge
zugewiesen In Zeile drei wird der Benutzer
aufgefordert, sein Alter einzugeben. Der
eingegebene Wert wird in
eine Ganzzahl umgewandelt und der Altersvariablen
zugewiesen In Zeile vier wird der Benutzer
aufgefordert, sein Einkommen einzugeben. Der
eingegebene Wert wird in
eine Gleitkommazahl umgerechnet und
der Einkommensvariablen zugewiesen Lassen wir eine Leerzeile und
fügen in Zeile sechs einen Kommentar hinzu. In Zeile sieben
zeigen wir die Nachricht an. Hier sind die Daten, die Sie eingeben. In Zeile acht wird der
Name angezeigt, den der Benutzer eingegeben hat. Zeile neun zeigt das Alter an
, das der Benutzer eingegeben hat. Zeile zehn zeigt
das Einkommen an, das der Benutzer eingegeben hat. Ja. Die
Funktionen INT und Float funktionieren nur, wenn das Element, das konvertiert wird, einen gültigen numerischen Wert
enthält. Wenn das Argument nicht in den
spezifischen Datentyp
konvertiert werden kann , tritt
ein Fehler auf, der als
Ausnahme bezeichnet wird. Eine Ausnahme ist ein
unerwarteter Fehler , der während der Ausführung des
Programms auftritt und
dazu führt, dass das Programm angehalten wird, wenn der Fehler nicht
ordnungsgemäß behoben wird. Führen Sie beispielsweise das Programm aus
und geben Sie XYZ als Alter ein. Hier ist der Fehler, der als Ausnahme
bezeichnet wird. Ich hoffe, du hast verstanden, wie man Zahlen über
die Eingabefunktion
liest. Danke fürs Zuschauen.
65. Zahlen und Mathe (ZUSAMMENFASSUNG): Willkommen zurück, alle zusammen.
In diesem Abschnitt haben
Sie alles über die Arbeit
mit Zahlen in Python gelernt. Sie haben gesehen, dass es zwei
grundlegende Arten von Zahlen gibt, Ganzzahlen und
Fließkommazahlen, und dass Python auch über eine
integrierte Unterstützung für
komplexe Zahlen verfügt integrierte Unterstützung für
komplexe Zahlen Zunächst haben Sie gesehen, wie Sie mithilfe der Operatoren
Plus-Minus-Multiplikation,
Division und Floordivision
grundlegende Arithmetik mit Zahlen Division und Floordivision Sie lernen, wie man
arithmetische Ausdrücke schreibt und Sie lernen, wie Sie
in PEP 8 arithmetische Ausdrücke in formatieren Dann lernen Sie
Gleitkommazahlen kennen und erfahren dass sie möglicherweise nicht Diese Einschränkung hat
nichts mit Python zu tun. Es ist eine Tatsache der
modernen Datenverarbeitung, die mit
der Art und Weise zusammenhängt , wie
Fließkommazahlen im Speicher eines
Computers gespeichert werden. Als Nächstes haben Sie gesehen, wie man mit runden Zahlen auf eine bestimmte
Dezimalstelle
rundet und dabei gelernt hat, dass runde
Runden zu geraden ist etwas anderes
als die Art und Weise, wie die meisten Menschen in der Schule lernen, Zahlen zu
runden. Sie haben auch zahlreiche Möglichkeiten gesehen, Zahlen für die Anzeige zu
formatieren. Schließlich haben Sie etwas
über die in Python
integrierte Unterstützung für
komplexe Zahlen erfahren , und wir haben eine Reihe von Übungen gemacht um die Themen vollständig zu verstehen. Ich möchte mich bei
Ihnen fürs Zuschauen bedanken und wir sehen uns
in der nächsten Folge.
66. CHALLENGE: Prozentsatz berechnen: Wenn Sie ein Programm schreiben , das mit dem Prozentsatz arbeitet, müssen
Sie sicherstellen, dass der Prozentsatz mit dem Dezimalpunkt an der richtigen
Stelle steht, bevor Sie mit
dem Prozentsatz rechnen können. Dies gilt insbesondere dann, wenn der Benutzer einen
Prozentsatz als Eingabe eingibt. Die meisten Benutzer geben die
Zahl 50 ein, um 50% zu bedeuten,
20, um 20% zu bedeuten usw. Bevor Sie Berechnungen
mit einem solchen Prozentsatz durchführen , müssen
Sie
ihn durch 100 definieren, um
seine Dezimalstelle um 0,2
Stellen nach links zu verschieben . Lassen Sie uns Schritt für Schritt
ein Programm schreiben , das einen Prozentsatz
berechnet Nehmen wir an, ein Einzelhandelsunternehmen plant einen
flächendeckenden Verkauf, bei dem alle Artikelpreise um 20% reduziert werden Sie müssen darum bitten, ein
Programm zu schreiben, mit
dem der Verkaufspreis eines Artikels berechnet wird,
nachdem der Artikel abgezogen Hier ist der Algorithmus. Erstens, holen Sie sich den ursprünglichen
Preis des Artikels. Zweitens, berechne 20%
des ursprünglichen Preises. Dies ist die Höhe
des Rabatts. Drittens, subtrahieren Sie den Rabatt
vom ursprünglichen Preis. Das ist der Verkaufspreis. Viertens, zeigen Sie den Verkaufspreis an. Beachten Sie, dass die Ausgabe genau
mit der
Beispielausgabe übereinstimmen muss genau
mit der
Beispielausgabe übereinstimmen Und wenn Sie auf Ausführen klicken,
ist dies das Ergebnis, nach dem
Sie suchen Jetzt ist es an der Zeit, das
Video anzuhalten und es auszuprobieren. In Ordnung, wie bist du zurechtgekommen? Ich hoffe wirklich, dass
du es gut versucht hast. Lass uns die Übung
zusammen machen und den Code schreiben. Im ersten Schritt erhalten wir den
ursprünglichen Preis des Artikels. Wir werden den Benutzer auffordern seine Daten auf der Tastatur
einzugeben. In unserem Programm werden wir dazu die folgende
Anweisung
verwenden. Beachten Sie, dass der
vom Benutzer eingegebene Wert in einer Variablen
namens Originalpreis
gespeichert wird . A In Schritt zwei berechnen
wir die Höhe
des Rabatts. Dazu multiplizieren wir
den ursprünglichen Preis mit 20%. Die folgende Anweisung führt diese Berechnung durch und ordnet das Ergebnis der
Rabattvariablen zu In Schritt drei ziehen wir den Rabatt vom ursprünglichen Preis
ab Die folgende Anweisung
führt diese Berechnung und speichert das Ergebnis in
einer Verkaufspreisvariablen Schließlich verwenden
wir im vierten Schritt die
folgende Aussage, verwenden
wir im vierten Schritt die
folgende Aussage um den Verkaufspreis anzuzeigen. Führen Sie das Programm aus und geben Sie einen zufälligen
ursprünglichen Verkaufspreis ein. Und hier ist der 20%
reduzierte Verkaufspreis. Großartig. Ich hoffe, Sie haben es geschafft, das
Programm selbst zu erstellen. Wenn Sie Fragen haben, lassen Sie es mich wissen. Tschüss.
67. CHALLENGE: Durchschnittsberechnung: Die Bestimmung des
Durchschnitts
von Wertegruppen ist eine
einfache Berechnung. Addieren Sie alle Werte und
dividieren Sie dann die Summe durch die
Anzahl der Werte. Dies ist zwar eine
einfache Berechnung, es ist leicht, einen Fehler zu machen, wenn ein Programm
schreiben, das einen Durchschnitt
berechnet Nehmen wir zum Beispiel an, dass die Variablen A, B und C jeweils einen Wert enthalten und wir wollen den
Durchschnitt dieser Werte berechnen Wenn wir unvorsichtig sind, könnten
wir eine
Anweisung wie
die folgende schreiben , um
die Berechnung durchzuführen Kannst du den Fehler
in dieser Aussage erkennen? Wenn es ausgeführt
wird, findet die Division zuerst statt. Der Wert in C
wird durch drei geteilt. Dann
wird das Ergebnis zu A plus B addiert. Das ist nicht die richtige Methode
, um einen Durchschnitt zu berechnen. Um diesen Fehler zu korrigieren, müssen
wir
A plus B plus C in
Klammern setzen , wie hier gezeigt Lassen Sie uns Schritt für
Schritt ein Programm
schreiben, das einen Durchschnitt
berechnet Angenommen, Sie haben
in
Ihrem
Informatikunterricht drei Tests abgelegt und möchten ein Programm, das
den Durchschnitt der Testergebnisse anzeigt den Durchschnitt der Testergebnisse Hier ist der Algorithmus. Eins, hol dir das erste
Testergebnis, zwei, hol dir das zweite Testergebnis, drei, hol dir das dritte Testergebnis. Viertens, berechne den
Durchschnitt, indem du die drei Testergebnisse
addierst und die Summe durch drei teilst. Zeigt den Durchschnitt an. Beachten Sie, dass die Ausgabe genau
mit der
Bildschirmausgabe übereinstimmen muss genau
mit der
Bildschirmausgabe übereinstimmen Und wenn Sie auf Ausführen klicken, ist
dies das Ergebnis, nach dem
Sie suchen Jetzt ist es an der Zeit, das
Video anzuhalten und es auszuprobieren. In Ordnung, wie bist du zurechtgekommen? Ich hoffe wirklich,
du hast es gut versucht. Lass uns die Übung
zusammen machen und den Code schreiben. Lassen Sie uns zunächst einige Kommentare hinzufügen. In den Schritten eins, zwei und drei fordern
wir den Benutzer auf, drei Testergebnisse
einzugeben. Wir werden diese
Testergebnisse in den Variablen Test one speichern. Test zwei. In Test drei. In Schritt vier
berechnen wir den Durchschnitt
der Testergebnisse der drei. Wir würden die folgende
Anweisung verwenden, um
die Berechnung durchzuführen und
das Ergebnis in der
Durchschnittsvariablen zu speichern . Zuletzt zeigen
wir in Schritt fünf den Durchschnitt an. Führen Sie das Programm aus. Geben Sie das erste
Testergebnis ein, z. B. 90. Geben Sie das zweite
Testergebnis ein, z. B.
80, und geben Sie das dritte
Testergebnis ein, beispielsweise 100. Die durchschnittliche Punktzahl ist 90. Ich hoffe, du hast verstanden, wie
Average in Python funktioniert. Danke fürs Zuschauen und wir
sehen uns in der nächsten Lektion.
68. HERAUSFORDERUNG: Eine mathematische Formel in ein Programmier-Statement konvertieren: Nehmen wir an, Sie möchten
einen bestimmten Geldbetrag auf
ein Sparkonto einzahlen und es dann für
die nächsten zehn Jahre in Ruhe
lassen . Nach Ablauf von zehn Jahren möchten
Sie
10.000 USD auf Ihrem Konto haben Wie viel müssen Sie
heute einzahlen, um das zu erreichen? Sie können die folgende
Formel verwenden, um dies herauszufinden. Die Begriffe in der
Formel lauten wie folgt. P ist die Gegenwart, Zukunft oder der Betrag, den Sie heute einzahlen
müssen. F ist der zukünftige Wert dessen, was
Sie auf dem Konto haben möchten. In diesem Fall ist F 10.000$. R ist der jährliche Zinssatz. Und es ist die Anzahl der
Jahre, die Sie einplanen
müssen , damit das Geld
auf dem Konto bleibt. Es wäre praktisch,
ein Computerprogramm zu schreiben , um
diese Berechnung durchzuführen , weil wir dann mit verschiedenen
Werten für die Variablen experimentieren
können. Hier ist ein Algorithmus
, den wir verwenden können. Erstens, ermitteln Sie den gewünschten
zukünftigen Wert,
zweitens , ermitteln Sie den jährlichen
Zinssatz. Drittens: Ermitteln Sie die Anzahl der Jahre , in denen das Geld
auf dem Konto sein wird. Viertens, berechne den Betrag , der eingezahlt werden muss. Fünftens, zeigen Sie das Ergebnis
der Berechnung in Schritt vier an. Jetzt ist es an der Zeit, das
Video anzuhalten und es auszuprobieren. In Ordnung, wie bist du zurechtgekommen? Ich hoffe wirklich, du
hast es gut versucht. Lass uns die Übung
zusammen machen und den Code schreiben. Zuallererst werde ich einige Kommentare
schreiben. In der nächsten Zeile werde ich
eine Variable namens Future Value erstellen . Ich möchte den gewünschten
zukünftigen Wert vom Benutzer erhalten. Konvertiert den Wert einen Float und weist ihn dann der zukünftigen Wertvariablen
zu Ich lasse eine leere Zeile und füge in Zeile vier einen Kommentar hinzu Rufen Sie den jährlichen
Zinssatz ab, geben Sie ein. In der nächsten Zeile werde ich eine Variable namens Rate
erstellen. Ich möchte den jährlichen
Zinssatz vom Benutzer erhalten. Konvertiert den Wert eine Gleitkommazahl und ordnet
ihn dann der Zinsvariablen zu Ich lasse eine Leerzeile. Lassen Sie uns jetzt einen Kommentar hinzufügen. Und dann erstelle ich
eine Variable namens Jahre. Und dann erstelle ich eine Variable namens Jahre. Wandle es in eine Ganzzahl um und frage den Benutzer, um wie viele
Jahre das Geld wachsen wird. Jetzt hat es begonnen,
die Formel in eine Codezeile umzuwandeln. Berechnung des für die Einzahlung
benötigten Betrags. Der gegenwärtige Wert
entspricht also dem zukünftigen Wert. Dividiert durch 100% zuzüglich des
jährlichen Zinssatzes. All das bis an die Macht der Jahre. Der letzte Schritt, den wir benötigen, ist der Wert in
der Variablen Barwert. Jetzt ist es Zeit, den Code auszuführen. Python wartet darauf der Benutzer den
gewünschten zukünftigen Wert eingibt. Geben wir 10.000 ein. Dann gebe ich den
jährlichen Zinssatz ein. Geben wir 0,05 ein, was 5% entspricht. Schließlich gebe ich die Anzahl
der Jahre ein, gebe zehn Jahre ein. Und das Ergebnis ist das. Sie müssen den Betrag von
6.139 USD und viele
Dezimalzahlen einzahlen .
Es funktioniert super Ich hoffe, Sie haben verstanden,
wie man
eine mathematische Formel in eine
Programmieranweisung umwandelt . Wenn Sie Fragen haben, lassen
Sie es mich bitte wissen. Danke fürs Zuschauen.
69. Daten und Zeiten: Datumsangaben und Uhrzeiten sind Elemente, mit denen die meisten Leute ziemlich viel gearbeitet haben. Wir vereinbaren Termine in Planveranstaltungen für bestimmte Termine und Zeiten. Der meiste Teil unseres Tages dreht sich rund um die Uhr. Es ist also eine gute Idee, sich anzusehen, wie Python mit der Interaktion mit Daten und Uhrzeit umgeht, insbesondere diese Werte für die spätere Verwendung zu speichern. Wie bei allem anderen verstehen
Computer nur Zahlen. Datum und Uhrzeit sind nicht vorhanden. Sie mit Datums- und Zeitangaben als eine der größten Herausforderungen
bei der Programmierung zwischen Zeitzonen,
Sommerzeit und verschiedenen geschriebenen Datumsformaten arbeiten bei der Programmierung zwischen Zeitzonen, , kann
es schwierig sein, den Überblick zu behalten, welche Tage und Zeiten Sie sind referenzieren. Glücklicherweise
kann das integrierte Python Datetime-Modul Ihnen helfen, die komplexe Natur von Datums- und Uhrzeiten zu verwalten. Technisch gesehen wird dieser Akt als Importieren eines Pakets bezeichnet. Und Sie werden in den nächsten Lektionen mehr darüber erfahren. Um die aktuelle Uhrzeit zu erhalten, können Sie einfach wichtiges Datum,
Uhrzeit, Datum, Zeitpunkt, Datumzeitpunkt eingeben . Jetzt sehen Sie die vollständigen Datums- und Uhrzeitinformationen auf der Uhr Ihres Computers. Sie haben vielleicht bemerkt, dass das Datum und die Uhrzeit im vorhandenen Format ein
wenig schwer zu lesen sind . Sehen Sie, dass Sie nur das aktuelle Datum mit dem Zeichenfolgenbefehl in einem lesbaren Formattyp abrufen möchten. Jetzt ist es viel besser. Datetime stellt drei Klassen zur Verfügung, die
die High-Level-Schnittstelle bilden , die die meisten Benutzer verwenden werden. Datetime. Datum ist ein idealisiertes Datum, das davon ausgeht, dass der gregorianische Kalender unendlich in die Zukunft und Vergangenheit erstreckt. Dieses Objekt speichert das Jahr, Monat und den Tag als Attribute. Datetime, nicht Zeit ist eine idealisierte Zeit, die sicherstellt , dass es 86.400 Sekunden pro Tag ohne Schaltsekunden gibt. Dieses Objekt speichert die Stunden-, Minutensekunden- und z-Info, Zeitzoneninformationen. Datetime dot datetime ist eine Kombination aus Datum und Uhrzeit. Es hat alle Attribute beider Klassen. Zunächst müssen Sie
die drei Hauptklassen aus DateTime mit dem folgenden Code importieren . Jetzt können Sie einige Methoden verwenden, um Tagesinstanzen zu erstellen. Es gibt zwei Methoden, bei denen es nicht erforderlich ist, ganze Zahlen zu verwenden, um jedes Attribut anzugeben, sondern stattdessen einige andere Informationen zu verwenden. Day-to-day erstellt eine Datumspunktdatumsinstanz mit dem aktuellen lokalen Datum. Datetime point erstellt nun eine Datetime Point Tagesinstanz mit dem aktuellen lokalen Datum und der aktuellen Uhrzeit. Werfen wir einen Blick auf einige Beispiele. Ich werde Datumspunkt heute und Datum-Uhrzeitpunkt verwenden, um Instanzen von Datums-,
Datums- und Zeitobjektenzu erstellen Datums- und Zeitobjekten Jede Instanz wird in einer anderen Variablen gespeichert. Heute ist eine Datumsinstanz, die nur das Jahr, den Monat und den Tag hat. Jetzt ist eine Datetime-Instanz, die Jahr,
Monat, Tag, Stunde, Minute, Sekunde und Mikrosekunden enthält. Wie Sie sehen können, kann die Arbeit mit den Daten und Zeiten und die Programmierung kompliziert sein. Glücklicherweise müssen Sie heutzutage selten komplizierte Funktionen von Grund auf neu implementieren, da viele Open-Source-Bibliotheken zur Verfügung stehen. Dies ist definitiv der Fall in Python, das drei separate Module in
der Standardbibliothek enthält , um mit Datums- und Uhrzeitangaben zu arbeiten. Kalender gibt, Kalender und bietet
Funktionen, die einen idealisierten gregorianischen Kalender verwenden. Datetime liefert Klassen für die Manipulation von Datums- und Uhrzeitangaben. Zeit stellt zeitbezogene Funktionen bereit, bei denen Daten nicht benötigt werden. Mit dem Zeitbefehl, den Sie verwenden können, um die aktuelle Zeit zu erhalten, können
Sie verschiedene Werte für jede der Komponenten
, aus denen Datum und Uhrzeit besteht, mit den Werten für Tag,
Monat, Jahr, Stunde, Minute,
Sekunde und Mikrosekunde abrufen , aus denen Datum und Uhrzeit besteht, mit den Werten für Tag, Monat, Jahr, Stunde, Minute, . Aber es ist außerhalb des Geltungsbereichs dieser Lektion. Sie haben das grundlegende Konzept rund um Datum und Uhrzeit gelernt. Es ist an der Zeit, dass Sie Ihr neues Wissen in
den realen Anwendungen anwenden . Danke fürs Zuschauen.
70. Was ist eine Liste: Hallo alle, das ist Andreas, und in diesem Vortrag erfahren Sie, was Listen sind und wie Sie mit dem Element in einer Liste arbeiten können. Listen sind eine der leistungsstärksten Funktionen von Python, mit
denen Sie Informationsmengen an einem Ort speichern können. Also, was ist Liste? Eine Liste ist eine Sammlung von Elementen in einer bestimmten Reihenfolge. Sie können eine Liste erstellen, die die Buchstaben des Alphabets enthält, die Ziffern von 0 bis neun, Namen, Farben, was immer Sie wollen. Sie können alles in eine Liste setzen. Listen enthalten komplexe Objekte wie Funktionen oder Klassen oder sogar Module. Die Elemente auf Ihrer Liste müssen in keiner bestimmten Weise miteinander verknüpft sein. Außerdem enthält eine Liste in der Regel mehr als ein Element. Python eckige Klammern zeigen eine Liste in einzelnen Elementen in der Liste sind durch Kommas getrennt. Lassen Sie uns ein Beispiel machen. Öffnen Sie den Editor und beginnen Sie mit der Eingabe. Wir werden eine Liste machen. Lassen Sie uns nennen Apple-Produkte mit vier Elementen. Jetzt drucken wir die Liste aus. Python gibt seine Darstellung der Liste einschließlich eckiger Klammern zurück. Sie können eine Liste auch deklarieren, ohne ihr einen Anfangswert zuzuweisen. Sie können Apple-Produkte gleich zwei eckige Klammern eingeben. Dies ist eine leere Liste, in der keine Elemente enthalten sind. Sie müssen die append-Methode verwenden, um Elemente zur Liste hinzuzufügen. Wir werden später über die Anfügemethode erfahren. Auf die Elemente der Liste kann durch einen Index zugegriffen werden. Um dies zu tun, benennen Sie die Liste und dann innerhalb eines Paares von eckigen Klammern, verwenden
Sie eine Indexnummer, wie das, was ich hier zeige, die den Zugriff auf einzelne Elemente innerhalb der Liste ermöglicht. Die Indizierung für diese Liste basiert auf 0. Wenn Sie also eine Liste wie diese mit diesen sechs Elementen haben, beginnen
die Indizes mit 0 und wir werden bis zu fünf gehen. Zum Beispiel direkt in der Shell. Das Ergebnis ist iPhone, da 0 der erste Wert der Liste ist. Geben Sie jetzt ein. Und das Ergebnis ist iCloud, weil Index drei der vierte Wert der Liste ist. Wenn Sie versuchen, auf einen Index zuzugreifen, der außerhalb des Bereichs liegt, erhalten
Sie den Index außerhalb des Bereichs. Auch, Slicing ist auch zur Verfügung. Slicing ist eine Indizierungssyntax, die einen Teil aus Ihrer Liste exakt. Also in diesem Beispiel, wenn a Ihre Liste ist als in den eckigen Klammern, müssen
Sie Zahlen durch einen Doppelpunkt getrennt indizieren,
und es wird einen Teil dieser Liste zurückgeben, den wir mit Position m
beginnen und bis, aber ohne Index n mit demselben Beispiel von vorher. Und wenn Sie eine 225 genommen haben, erhalten
Sie drei Objekte in der Mitte, beginnend bei Index zwei und gehen bis zu Index vier, aber nicht mit fünf. Eine Abkürzung ist verfügbar, indem der erste Index weggelassen wird. Ihr Slice beginnt am Anfang der Liste und geht bis zum zweiten Index. Wenn Sie den letzten Index weglassen, wird
es die Folien vom
ersten Index erweitern und bis zum Ende der Liste gehen. Und wenn Sie beide Indizes weglassen würden, wird eine Kopie der gesamten Liste zurückgegeben. Und im Gegensatz zu einer Zeichenfolge ist
es eine Kopie, kein Verweis auf dasselbe Objekt. Es ist möglich, einen dritten Index nach einem zusätzlichen Doppelpunkt hinzuzufügen. Dieser dritte Index weist auf einen Schritt hin, wird
aber manchmal auch Stempel genannt. Wenn Sie also in diesem Beispiel ein Slice hinzufügen, das mit einem Schritt von zwei von 0 auf sechs ging, würden
Sie das Objekt bei Index 024 zurückgeben. Alternativ können Sie von hinten auf die Werte einer Liste zugreifen. Das letzte Element in dieser Liste hat einen Index von minus eins. Der zweite letzte hat einen Index von minus zwei und so weiter. Richtig? Und der Python antwortet iCloud, weil dies das, das letzte Element. Sie können auch eine Liste oder einen Teil davon einem Variablentyp zuweisen. So werden die variablen Produkte iPhone, iPad, Mac Air, iCloud. Nun, wenn Sie eingeben, das Ergebnis ist
das ErgebnisiPad Komma MAC air, weil Sie Elemente mit dem Index eins auf Index drei minus eins zuweisen. Die Notation eins bis drei wird auch als Slice bezeichnet. Immer wenn wir eine Slice-Notation in Python verwenden, wird
das Element am Anfang des Index immer enthalten, aber das Element am Ende wird immer ausgeschlossen. Mit anderen Worten, die Notation 1-2-3 bezieht sich auf die Elemente aus Index zwei, Index vier minus eins, was Index drei ist. Es gibt auch eine komplexere Slice-Notation , die eine dritte Zahl enthält, die als Stepper bekannt ist, aber wir werden es vorerst überspringen. Eine wichtige Funktion besteht darin, anzuhängen, wenn Sie Elemente zu einer Liste hinzufügen möchten, z. B. mit dieser Codezeile, können
Sie den Wert iPod am Ende der Liste hinzufügen, die Liste ausdrucken und das Ergebnis sehen. Wenn Sie Elemente aus einer Liste entfernen möchten, verwenden
Sie die delete-Anweisung. Angenommen, Sie möchten das Element iPad löschen, das sich in Position eins befindet. Typ: Ein iPad eingeben ist nicht vorhanden. Listen sind entscheidend für die Python Programmierung. Es ist eine Funktion in Python, die wir mehrmals sehen werden. Und es ist wichtig, wenn Sie Programme und Projekte in Python erstellen möchten. In der nächsten Vorlesung werden wir tiefer in Listen eintauchen. Wenn Sie etwas fragen müssen, helfe
ich Ihnen gerne weiter. Danke fürs Zuschauen.
71. Arbeiten mit Listen: Hallo an alle. Heute werden wir die Arbeit mit Listen fortsetzen. Also lassen Sie uns einige weitere Funktionen sehen. Wenn Sie mit einer Liste arbeiten. Wenn Sie zwei Listen kombinieren möchten, verwenden
Sie die erweiterte Funktion, öffnen Sie den Editor und schreiben Sie das folgende Programm. Führen Sie es aus, und schauen Sie sich die neue Liste an. Großartig. Um besser zu verstehen, wie es funktioniert, kopieren
wir den Programmcode und fügen ihn in Python Tutor.com ein. Klicken Sie auf Start, visualisieren Sie Ihren Code jetzt. Und es ist wie die Python Version drei. Fügen Sie den Code ein und klicken Sie auf die Schaltfläche und visualisieren Sie die Ausführung. Suchen Sie alle Arbeit Schritt für Schritt. Wenn ich die Vorwärts-Taste drücke, gehe
ich zum nächsten Schritt und sehe die Ausgabe der rechten Seiten. Die erste Zeile erstellt die Apple-Produkte eine Liste mit drei Elementen innerhalb iPhone, iPad und iPod mit Index 012. Durch Drücken der Vorwärts-Taste wird die zweite Codezeile ausgeführt. Es erstellt die Apple-Produkte mit drei Elementen Liste, iCloud, iOS und Air Mac mit Index 012 Ausführung der dritten Zeile, Apple-Produkte eins ist mit Apple-Produkten erweitert, um Komponenten aufzulisten. Also, wenn ich Liste eins ausdrucke, wird
die Ausgabe diese sechs Komponenten sein. Ziemlich geradlinig, richtig? Schließen Sie die Website. Ok? Nehmen wir nun an, Sie möchten überprüfen, ob ein Element in einem Listentyp ist. Falsch, natürlich, Büro ist nicht auf der Liste. True, iOS ist n, die Liste. Um ein Element zu einer bestimmten Position hinzuzufügen, verwenden
wir die Insert-Funktion. Lassen Sie uns ein Beispiel machen, indem Sie Büro innerhalb der Apple-Produkte eine Liste hinzufügen. Zwei ist die Indexnummer, geben Sie die Liste ein und drucken Sie sie erneut aus. Sehr nett. Remove Funktion, entfernt ein Element aus der Liste, erfordert den Wert eines Elements als Parameter. Lassen Sie uns ein Beispiel machen. Geben Sie ein
und geben Sie ein,
drucken Sie einen Air Mac wurden aus der Liste entfernt. Geben Sie ein
und geben Sie ein, Wenn Sie eine Liste alphabetisch oder numerisch sortieren möchten, verwenden
Sie den Sortierfunktionstyp. Und wir haben eine sortierte Liste. Natürlich ist es nicht die beste Liste, um zu verstehen, ob es sortiert ist oder nicht. Bitte üben Sie diese Funktionen aus und wenn Sie Fragen haben, lassen
Sie es mich wissen. Vielen Dank für das Anschauen und ich werde Sie in der nächsten Lektion sehen, wie man numerische Listen erstellt.
72. Numerische Listen erstellen: Willkommen zu dieser Lektion und vielen Dank, dass Sie das bisher gemacht haben. Nun gehen wir weiter, wie numerische Listen erstellt werden. Listen sind ideal zum Sortieren von Zahlensätzen in Python bietet mehrere Werkzeuge, mit denen Sie effektiv mit Listen von Zahlen arbeiten können. Sobald Sie verstehen, wie Sie diese Tools effektiv verwenden, wird
Ihr Code gut funktionieren. Vergessen Sie nicht, dass, um eine Reihe von Zahlen zu speichern, haben
wir viele Anwendungen von der Verfolgung der Highscores
eines Spielers, um Temperaturen zu speichern, Populationen, et cetera. Pythons Bereichsfunktion ist vorteilhaft und macht es einfach, eine Reihe von Zahlen zu generieren. Die Bereichsfunktion erzeugt eine Liste von Zahlen und hat den Syntaxbereich Start und Spann. Wenn Sie eine Liste von Zahlen erstellen möchten, können
Sie Ergebnisse des Bereichs direkt in eine Liste mit Hilfe der Listenfunktion konvertieren. Wenn Sie eine Liste um einen Aufruf der Bereichsfunktion umschließen, wird
die Ausgabe eine Liste von Zahlen sein. Lassen Sie uns ein Beispiel machen. Öffnen Sie den Editor, und geben Sie ein. Führen Sie das Programm aus. Die neue Liste eins bis neun wird auf dem Bildschirm angezeigt. Beachten Sie, dass, wenn der Schritt nicht angegeben wird, eine Liste von aufeinander folgenden Zahlen wie die obige Liste generiert wird, muss
der Endwert angegeben werden. Eine seltsame Sache an der Bereichsfunktion ist jedoch , dass der angegebene n-Wert niemals Teil der generierten Liste ist. Um die Zahlen eins bis zehn zu drucken, sollten
Sie Bereich 1 Komma 11 verwenden. Wir werden lernen, wie Schleifenfunktionen mit
Bereich zu kombinieren und kompliziertere Listen in späteren Vorträgen zu erstellen, wie eine Liste der ersten zehn Quadratzahlen. Danke fürs Zuschauen.
73. Drucklisten: Python bietet viele Möglichkeiten, Informationen auszugeben. Lassen Sie uns nur einige der grundlegendsten Methoden für die Ausgabe von Listen sehen. Nehmen Sie den folgenden Code in den Editor. Hier habe ich versucht, mit vier Autoherstellern im Inneren aufzulisten. Jetzt drucken wir die Liste aus. In diesem Beispiel wird der Operator „splat“ verwendet. Es ist das Asteroidensymbol, auch Positionserweiterung Operator genannt, und eine Auswahl anderer interessanter Begriffe, um die Liste zu
entpacken und jedes Element einzeln an die Druckmethode zu senden. Das Argument sep sagt uns, wie jede der gedruckten Ausgaben zu trennen, wobei wir uns auf ein neues Zeilenzeichen verlassen. Führen Sie in diesem Fall den Code aus und sehen Sie das Ergebnis. Python gibt die Liste ein Element nach dem anderen aus. Entfernen Sie nun die Druckzeile und fügen Sie die folgende Zeile in den Code ein. Diese Codezeile nimmt zwei Codezeilen und platziert sie in nur einer einzigen Zeile. Es zeigt auch die Jugend der r just Methode, die richtig die Zeichenfolge rechtfertigt. Die for-Schleifen sind ein wichtiges Element der Python Sprache. Und ich habe einen ganzen Abschnitt, der Schleifen gewidmet ist, führe den Code aus. Sieh dir das an. Es richtete den Inhalt mit dem rechten Rand aus. Okay, jetzt wurde die letzte Codezeile durch die folgende ersetzt. In diesem Fall wird die Ausgabe mit den Punktformatmethoden mit
begleitendem Text formatiert und das Ergebnis schließt nicht jedes Mitglied von Autos ein. Der Eintrag 01 stellt Platzhalter für den von Autos gelieferten Wert dar. Führen Sie den Code aus, um zu sehen, dass er mit 0 Eintrag erscheint, das ist Toyota, und der Eintrag eins, der BMW ist. Danke fürs Zuschauen.
74. Tuchen: Tupel sind in jeder Hinsicht mit Listen identisch, außer für ein paar der folgenden Notizen. Tupel werden definiert, indem die Elemente in Klammern
anstelle von Listen mit eckigen Klammern eingeschlossen werden. Es sieht in etwa so aus. Die andere wichtige Sache ist, dass Tupel unveränderlich sind. Warum sollten Sie ein Tupel anstelle einer Liste verwenden? Wenn Sie Programme mit Tupeln im Vergleich zu Listen ausführen, die Ausführung schneller, wenn Sie das Tupel manipulieren. Dies wird wahrscheinlich nicht auffällig sein, wenn Sie eine kleine Liste oder ein kleines Tupel haben. Aber wenn dies die großen Arrays von Informationen sind, werden
Sie beginnen, einen Leistungsunterschied zu sehen. Es gibt Zeiten, in denen Sie nicht möchten, dass Ihre Daten geändert werden. Wenn Sie Werte als Teil der Sammlung haben und ihr Mentor für die Lebensdauer des Programms konstant geblieben ist, wird die
Verwendung eines Tupels vor jeder zufälligen Änderung schützen. Und ich weiß, dass Python Wörterbücher nicht im Mittelpunkt dieser Lektion stehen. Sie werden lernen, dass die Schlüssel zum Erstellen eines Python Wörterbuchs erfordern, dass es einen unveränderlichen Typ gibt. In diesem Fall müssten Sie etwas unveränderliches wie ein Tupel anstelle von Liste verwenden. Wenn Sie eine Sequenz für den Schlüssel verwenden möchten, um ein Tupel zu definieren. Anstatt eckige Klammern für eine Liste zu verwenden, werden
Ihre Objekte in Klammern enthalten sein. Hier ist t, das ist ein Tupel. Und auf t zugreift, funktioniert meine Indizierung genauso beim Einführen von Slicing. Und Sie können hier sehen, dass es ein Tupel zurückgibt, sogar Schritte macht. Und einer von euch benutzt den Lieblings-Negativschritt. Und Sie können sehen, dass es hier in der Klammer,
diesen Tupeln zurückkehrt und nur bemerkt wird, ja, Sie verwenden immer noch den gleichen Indizierungsstil von eckigen Klammern. Also, was ist so anders? Nun, du kannst es nicht ändern. Wenn Sie also versuchen, Index zwei zu nehmen und es etwas zuzuweisen, werden
Sie diese Ausnahme eines Typfehlers auslösen. Das Tupelobjekt unterstützt keine Elementzuweisung. Wenn Sie hier mehrere Objekte erstellen würden, und sie können wieder von verschiedenen Typen sein, und Sie wollten sie einfach auflisten und ein Komma zwischen jedem setzen. Sie werden sehen, dass als Tupel kommt. Und in der Tat, wenn Sie vorhaben, eine Endklammerung mit
nichts zu beginnen und den Typ darauf zu überprüfen. Was Sie dort als leeres Tupel haben würden. Was passiert aber, wenn Sie versuchen, ein Singleton-Tupel zu erstellen? Sie sagen, T entspricht nur der Nummer zwei in Ihrer Klammer. Nun, Sie können hier sehen, T hat nicht die Klammer um ihn herum. Und wenn man sich seinen Typ anschaut, ist
es nur eine ganze Zahl. Da Klammern auch verwendet werden, um Operatorvorrang für Ausdrücke zu definieren, wird
Python den Ausdruck von nur zwei in
der Klammer als einfach die ganze Zahl zwei auswerten und einen INT erstellen. Wenn Sie wirklich sagen möchten, dass es ein Singleton ist, müssen
Sie einen zusätzlichen Schritt machen
, müssen
Sie einen zusätzlichen Schritt machen
,der ein abschließendes Komma enthält, das dann als Tupel betrachtet wird. Es ist wahrscheinlich selten, dass Sie ein Singleton-Tupel definieren müssen. Aber wenn du es an einem Beispiel sehen würdest, bist du jetzt bereit. Als nächstes werden wir ein wenig tiefer in
die Tupelzuweisung eintauchen , indem wir packen und auspacken.
75. Tuple Verpackung und Auspackung: In diesem Video zeige ich Ihnen die Tupelzuweisung durch Packen und Auspacken. Ein Literal-Tupel, das mehrere Elemente enthält, kann einem einzelnen Objekt zugewiesen werden, z. B. dem Beispielobjekt
T. Wenn Sie dieses gepackte Objekt einem neuen Tupel zuweisen, die einzelnen Elemente in die Objekte
entpackt, die das neue Tupel mit dem Entpacken
muss die Anzahl der Variablen auf der linken Seite mit der Anzahl der Werte innerhalb des Tupels übereinstimmen. Lassen Sie mich, dass Sie das mit etwas Code erkunden. Wie Sie im vorherigen Video gesehen
haben, können Sie ein Tupel erstellen, indem Sie die Objekte einfach in eine Reihe von Klammern eingeben, und dann werden sie alle darin in dieses einzelne Objekt packen. Auch hier können Sie über den Index auf sie zugreifen. Hier ist eine interessante Idee. Sie können ein weiteres Tupel von Objekten erstellen, in diesem Fall S1, S2, S3, S4, und könnte es dem von Ihnen erstellten Tupel zuweisen. Ein Moment zu gehen, t. Jetzt werden S1, S2, S3 und S4
dieses Tupel während dieser Zuweisung entpacken und sie in die entsprechenden Objekte platzieren. Jetzt ist es wichtig, dass sie die gleiche Nummer auf beiden Seiten der Zuordnung haben. Wenn Sie versuchen, es S1,
S2, S3 gleich t zuzuweisen , werden
Sie hier eine Ausnahme als Wertfehler auslösen, es gibt zu viele Werte zum Entpacken. Es erwartete drei auf dieser Seite und t, wie Sie wissen, hat für so wieder, hier ist t. Und was, wenn Sie mit zu vielen gehen? Nun, in diesem Fall erwartete es, fünf zu bekommen, aber T nur zum Verpacken und
Auspacken vorgesehen konnte in einer Aussage gemacht werden, wenn Sie wollten. Und hier sind sie. Wir machen Aufgaben wie diese. Es gibt eine Handvoll Situationen, in denen Python es Ihnen ermöglicht, die Klammern zu überspringen. Und das gleiche mit dem Auspacken. Sie können sogar so etwas tun, wo beide Seiten keine Klammern haben. Sogar das Singleton zu erschaffen. Es funktioniert gleich, ob die Klammern eingeschlossen sind oder nicht. Wenn Sie also Zweifel daran haben, ob sie zugewiesen sind, gehen Sie weiter und schließen Sie sie ein. Tupel-Zuweisung ermöglicht ein wenig idiomatischen Python. Häufig haben Sie bei der Programmierung zwei Variablen, deren Werte ausgetauscht werden müssen. Es ist notwendig, einen der Werte in einer temporären Variablen zu speichern. In den meisten Programmiersprachen, während der Swap auftritt, würde
es ungefähr so aussehen. So erstellen Sie eine Variable temp, weisen Sie ihm eine zu, zugewiesen B in a und dann sagen B gleich temp. Und da hast du die beiden getauscht. Also wieder, Sie machen eine temporäre Variable, die a hält, b nehmen, sie in a
zuweisen und dann diese Temp zurück in sie ziehen, indem Sie sie erneut zuweisen. Das ist der Sumpf. Aber in Python kann
der Swap mit nur einer einzigen Tupelzuweisung durchgeführt werden. Hier werden Sie sagen, ein Komma b gleich b Komma a und Sie können sehen, dass der Swap aufgetreten ist. Das war's für heute. Ich hoffe, Sie haben die Lektion genossen. Wenn Sie Fragen haben, lassen
Sie es mich wissen. Danke fürs Zuschauen.
76. Arbeiten mit Dictionaries: Hallo Studenten, das ist Andreas, und in diesem Video-Tutorial, werden
Sie über Wörterbücher lernen, das ist eine gute Möglichkeit, auf eine organisierte Daten zugreifen. Wenn Sie es geschafft haben, Wörterbücher und Listen zu kombinieren, erstellen
Sie eine Datenstruktur in Python. Also lasst uns anfangen. Ein Wörterbuch ist eine Sammlung verwandter Datenpaare. Wörterbuchschlüssel müssen innerhalb eines Wörterbuchs eindeutig sein, Sie können in unserem Beispiel nicht den gleichen Namen zweimal verwenden. Außerdem verwenden wir geschweifte Klammern beim Deklarieren eines Wörterbuchs. Wörterbücher sind dynamisch und können verschachtelt werden. Ein Wörterbuch kann andere Wörterbücher oder Listen enthalten. Ein Wörterbuch enthält seine Schlüsselwertpaare in geschweiften Klammern. Gehen Sie weiter und öffnen Sie Ihre Python -Shell, und lassen Sie uns an einigen Beispielen arbeiten. Also lasst uns voran gehen und ein Wörterbuch definieren und hier
einige Namen mit dem Gewicht eines jeden von ihnen setzen . Öffnen Sie die geschweiften Klammern und beginnen Sie mit der Eingabe der Schlüsselwertpaare, Namen und warten. Der Doppelpunkt trennt jeden Schlüssel von seinem zugeordneten Wert. Und denken Sie daran, dass wir Schlüsselpaare Werte mit einem Komma trennen. Schließen Sie unser Wörterbuch mit geschweiften Klammern und drücken Sie die Eingabetaste. Sie können Ihr Wörterbuch einfach aufrufen, indem Sie den Wörterbuchnamen eingeben und eingeben. Eine kurze Notiz hier, wie eine Python Version 3.9, werden
Wörterbücher in einer Reihenfolge angezeigt, in der sie definiert sind. Dieses Verhalten ist in früheren Versionen von Python nicht vorhanden, daher kann es zu einer zufälligen Reihenfolge zurückkehren. Sie können einen Wert aus einem Wörterbuch abrufen,
indem Sie seinen Schlüssel in den eckigen Klammern wie folgt angeben. Und wenn Sie einen Schlüssel angeben, der kein Wörterbuch ist, erhalten
Sie einen Ausdruck. Das Hinzufügen eines Andrew zu Ihrem Wörterbuch ist also nur eine Frage der Zuweisung eines neuen Schlüssels und eines Wertes. Wenn wir also Allen als unseren Schlüssel und die Kilogramm hinzufügen, können
Sie sehen, dass Alan hinzugefügt wurde. Wenn Sie einen Eintrag aktualisieren möchten, müssen
Sie nur den neuen Wert dem Schlüssel zuweisen. Um einen Eintrag zu löschen, geben
Sie einfach die Anweisung delete the teufel ein und geben Sie den Schlüssel an. Und John wird weg sein. Hier habe ich einen absichtlichen Fehler gemacht. Kannst du es finden? Also habe ich versucht, John mit dem J Buchstaben und Großbuchstaben zu löschen, aber innerhalb des Wörterbuchs definieren wir es mit einem kleinen J, wie Sie sehen können. Seien Sie also vorsichtig hier, Schlüssel-Wert-Paare unterscheiden zwischen Groß- und Kleinschreibung. Etwas anderes zu wissen, wenn Sie mit den Wörterbüchern arbeiten. Und das kann verwirrend sein, wenn man anfängt. Wenn Sie mit Liste arbeiten und Sie wissen, dass Sie Elementlisten mit einer Indexnummer zugreifen können. Wörterbücher von Listen können nicht behandelt werden. Sie werden nicht in der Lage sein, auf Werte von einer Indexnummer wie folgt zuzugreifen. Du bekommst eine Ausnahme. Dies liegt daran, dass Python einen Schlüssel erwartet, der sich auf diesen Punkt bezieht. Sie können Energizer als Schlüssel verwenden. Also, wenn ich hier ein neues Wörterbuch starte, und in diesem Fall können wir auf Werte in einem Wörterbuch
mit einem 0 oder einem Schlüssel zugreifen , nicht auf einen Index. Definieren eines Wörterbuchs mit geschweiften Klammern und einer Liste von Schlüsselwertpaaren. Es ist in Ordnung, wenn Sie alle Schlüssel und Werte im Voraus kennen. Aber was ist, wenn Sie im Handumdrehen ein Wörterbuch erstellen möchten? Sie können damit beginnen, ein leeres Wörterbuch zu erstellen, das durch leere geschweifte Klammern angegeben wird. Dann können Sie nacheinander neue Schlüssel und Werte hinzufügen. Sobald das Wörterbuch auf diese Weise erstellt wurde,
wird auf seine Werte wie jedes andere Wörterbuch zugegriffen. Abrufen der Werte in der Unterliste oder Unterwörterbuch erfordert einen zusätzlichen Index oder Schlüssel. Sie können Wörterbücher für eine Vielzahl von Zwecken verwenden, da es
so wenige Einschränkungen für die zulässigen Schlüssel und Werte gibt . Danke fürs Zuschauen.
77. Sätze: Willkommen zurück alle. In dieser Lektion werden wir über Sets lernen. Sie sind eine nützliche Datenstruktur, mit der Sie einige komplexe Operationen effektiver durchführen können. Also, was ein Cent in der Mathematik ist gesetzt ist, ist eine gut definierte Sammlung von verschiedenen Objekten. Die Menge von sogar positiven Zahlen weniger als zehn wäre 2468. Der Satz von perfekten Quadraten von weniger als zehn wäre 149. Der Schnittpunkt dieser beiden Sätze wäre die Zahl für. Eins ist ein Satz in Python. Der eingebaute Set-Typ von Python weist die folgenden Eigenschaften auf. Sie sind unsortiert, die Elemente sind eindeutig und doppelte Elemente sind nicht erlaubt. Und ein Satz selbst kann geändert werden, aber die in einer Menge enthaltenen Elemente müssen hashbar sein. Ein veränderbares Objekt ist also ein Objekttyp, das geändert werden kann, nachdem es erstellt wurde. Hashable Objekte
sind hingegen eine Art von Objekt, auf das Sie Hash aufrufen können. Alle unveränderlichen Objekte sind Hash-fähig, aber nicht alle Hash-Objekte sind unveränderlich. Python kann nur Hash-fähige Objekte enthalten. Einige Beispiele, die Sie wahrscheinlich unveränderliche Objekte gesehen haben, sind Tupel, Strings, Ganzzahlen und Booleans. Dies liegt daran, dass diese Objekte geändert werden können, nachdem sie erstellt wurden. Und dann umfasst Hash-Objekte Art alle unveränderlichen Objekte. Listen und Wörterbücher sind auf Hash-fähig. Lassen Sie uns einige Beispiele sehen. Schauen wir uns also Saiten an. Wir können eine Zeichenfolge wie diese erstellen. Und wir können sehen, dass Strings in der Tat unveränderlich sind. Lassen Sie uns versuchen, tatsächlich stumm zu schalten. Wenn ich also versucht habe, ein Zeichen hinzuzufügen oder den ersten Buchstaben in ein anderes Zeichen zu ändern, sind
beide ein Typfehler. Dasselbe gilt für ganze Zahlen. Wir können überprüfen, ob Strings und Ganzzahlen sowohl
hashbar sind , indem wir die Hash-Methode für sie aufrufen. Also Hash auf S wird nicht Fehler, aber es wird uns eine Zahl geben. Und diese Zahl repräsentiert nur den Hash von s. Listen und Wörterbücher sind auf hashable,
was bedeutet, dass es einen Hash auf sie aufruft, gibt uns einen Fehler. Es gibt zwei Möglichkeiten, einen Satz in Python zu definieren, Sie können die set-Funktion verwenden. Zum Beispiel können wir die Liste Apfel und Banane übergeben, die diese Liste konvertiert, die mit zwei Elementen gesetzt hat. Beachten Sie, dass die Reihenfolge nicht genau mit der Liste übereinstimmt, die wir übergeben haben, da die Sets nicht sortiert sind. Mal sehen, was passiert, wenn wir in einem Wörterbuch übergeben. Es wird die Schlüssel der Wörterbücher in einen Satz verwandeln. Wir können auch eine Zeichenfolge übergeben, die heißt, teilen Sie die Zeichenfolge in Zeichen. Und wenn doppelte Zeichen vorhanden sind, werden
diese Zeichen nicht enthalten, da Sätze keine Duplikate enthalten können. Zum Beispiel können wir die Listenfunktion mit der gleichen Zeichenfolge verwenden, wobei die gleiche Reihenfolge der Buchstaben und die Duplikate beibehalten wird. Die zweite Möglichkeit, einen Satz zu definieren, besteht darin, geschweifte Klammern zu verwenden. Wenn wir ein leeres Set wollen, könnten
wir ein Set wie dieses verwenden. Sets sind wirklich cool, weil sie einen
beliebigen Hash-Wert enthalten können und der gleiche Satz nicht den gleichen Werttyp enthalten muss. Also kann ich eine Zeichenfolge von boolean und dann ein Tupel haben. Und das wird funktionieren. Hoppla, stimmt mit Großkapital T. Great. Lassen Sie uns versuchen, einen nicht hashbaren Wert zu übergeben und sehen, was passiert. Listen sind also nicht hashbar und dies ist ein Fehler. Also y Cent, wenn Sie sich manchmal nur um eindeutige Werte
kümmern und Ihre Daten nicht bestellt werden müssen. Das ist der scheinbare Unterschied zwischen Sets und Tupeln oder Listen. Sie können auch einige coole Operationen sehr schnell durchführen. Aber der Hauptgrund dafür, dass wir Listen verwenden, ist, dass sie sehr, sehr schnell sind. Was ich damit meine, ist, dass man fast sofort nach der Mitgliedschaft suchen kann. Vielen Dank, dass Sie zugesehen haben. Und wenn Sie Fragen oder Kommentare haben, lassen Sie sie bitte im Q. und a. Udemy-Formular.
78. Wenn Statements: Hallo an alle. In diesem Video-Tutorial erfahren
Sie, wie Sie Bedingungstests schreiben, denen Sie alle relevanten Bedingungen überprüfen können. Sie werden lernen, einfach wenn Anweisungen zu schreiben. Und Sie lernen, wie Sie eine komplexere Reihe von
if-Anweisungen erstellen , um festzustellen, wann genau die gewünschten Bedingungen vorhanden sind. Der Block, der der if-Anweisung folgt, wird ausgeführt. Wenn die Anweisung Bedingung wahr ist, die Klauseln übersprungen, wenn die Bedingung falsch ist, könnte
eine if-Anweisung gelesen werden, als ob diese Bedingung wahr ist. Führen Sie den Code aus. Die if-Anweisung besteht aus dem Schlüsselwort, der Bedingung ein Doppelpunkt und beginnend mit der nächsten Zeile, einem Codeblock. Die Struktur einer if-Anweisung ist die folgende. Und das ist das Flussdiagramm. Lassen Sie uns einige Beispiele machen, öffnen Sie den Editor und schreiben Sie den folgenden Code. Python erfordert die Formatierung von Blöcken mit Einrückung. Es ist sehr wählerisch über Leerzeichen und Einrückungen. Speichern Sie das Programm zuerst, führen Sie den Code aus und sehen Sie das Ergebnis auf dem Bildschirm. Python fordert die Benutzer auf, eine Zahl zwischen 12 einzugeben. Um dies zu tun, verwenden wir die Eingabefunktion. Beachten Sie, dass das Ergebnis als String gespeichert wird. Wenn Sie nun eine eingeben, wird
das Programm die erste Druckanweisung ausführen. Vielleicht geben Sie zwei ein, das Programm führt die zweite Druckanweisung aus. Für alle anderen Werte wird
das Programm gedruckt, Sie haben keine gültige Nummer eingegeben. Großartig. Lassen Sie uns nun über eine Steigung sprechen, wenn eine Steigung, wenn Anweisung
eine einfachere Form einer if-Anweisung und sein
Ideal ist eine einfachere Form einer if-Anweisung und sein , wenn Sie nur eine einfache Aufgabe ausführen müssen. Die Syntax ist die folgende. Gehen Sie zum Beispiel zum vorherigen Programm und löschen Sie alle Code-Zeilen mit Ausnahme der ersten. Geben Sie dann die folgende Druckfunktion ein. Wenn wir das Programm ausführen, erhalten
wir das gleiche Ergebnis wie das vorherige, aber mit einer geringeren Codezeile. In der nächsten Zeile zeige ich Ihnen viele verschiedene Beispiele für
die if-Anweisung in einer Anwendung. Danke fürs Zuschauen.
79. BEITRÄGE der Anwendung der if Statement in einer Anwendung: Sie können die if-Anweisungen auf verschiedene Weise verwenden. In Python bestimmt ein relationaler Operator, wie ein Wert auf der linken Seite eines Ausdrucks dem Wert auf der rechten Seite der Ausdrücke
verglichen wird. Immer macht die Bestimmung und gibt einen wahren oder falschen Wert, der die Ausdrücke wahre Wert widerspiegelt. Zum Beispiel, sechs gleich sechs ist wahr, während fünf gleich sechs ist falsch. Die folgenden Schritte zeigen, wie Sie eine if-Anweisung erstellen und verwenden. Lassen Sie uns zunächst eine Variable definieren, die meinen Werttyp genannt wird. Dieser Stempel weist meinem Wert einen Wert von fünf zu. Beachten Sie, dass der Zuweisungsoperator und nicht der Gleichheitsoperatortyp verwendet wird. Dieser Schritt erstellt eine if-Anweisung, die den Wert
meines Wertes mit dem Gleichheitsoperator testet . Das Wort if wird in einer anderen Farbe als der Rest der Anweisung hervorgehoben. Typ: Und geben Sie zweimal ein. Wenn Sie zweimal hintereinander die EINGABETASTE drücken, ohne irgendwelche Texte einzugeben, ist
der Codeblock ein Ende und die Ausgabe ist diese Phrase. Wenn ich den Wert der Variablen in zehn ändere und denselben Code erneut ausführe, wird
keine Ausführung durchgeführt. Auch wenn ich den Wert der Variablen ändere und danach auf 15 und den Code ausführe, wird
keine Ausführung durchgeführt. Manchmal möchten Sie mehr als eine Aufgabe ausführen, nachdem Sie eine Entscheidung getroffen haben, solange die nächste Zeile eingerückt ist, ist
sie Teil der if-Anweisung. Wenn die nächste Zeile verbeult ist, wird
sie die erste Zeile eines Codes außerhalb des if-Blocks. Ein Codeblock besteht aus einer Anweisung und den Aufgaben, die dieser Anweisung zugeordnet sind. Ich werde zwei Druckanweisungen setzen, um zu verstehen, wie es funktioniert. Geben Sie zweimal ein. Jede Zeile, die Sie eingeben, ist Teil des aktuellen IfStatement-Codeblocks. Und wenn Sie zweimal hintereinander die EINGABETASTE drücken, ohne Text einzugeben, führt
Python den gesamten Codeblock aus, um mehrere Vergleiche durchzuführen. Wenn Sie verschiedene Bedingungen erstellen, indem Sie
relationale Operatoren verwenden und sie kombinieren, um es und logische Operatoren zu verwenden. Nehmen Sie beispielsweise den folgenden Code innerhalb des Python Editors. Führen Sie den Code aus und geben Sie drei ist ein Wert. Die if-Anweisung enthält zwei Bedingungen. Der Vers besagt, dass der Wert größer als 0 sein muss. Sie können diese Bedingung auch als Wert größer oder gleich eins darstellen. Die zweite Bedingung besagt, dass der Wert kleiner oder gleich fünf sein muss. Nur wenn value diese beiden Bedingungen bedeutet, werden die if-Anweisungen erfolgreich sein und den Wert drucken, den der Benutzer eingegeben hat? Wenn ich zehn nehme, gibt die Anwendung
nichts aus , weil die Zahl im falschen Bereich liegt. Lassen Sie uns den Code ändern, um
eine alternative Aktion bereitzustellen , wenn die Bedingung für eine if-Anweisung falsch ist. Beachten Sie, dass die andere Ursache mit einem Doppelpunkt endet, genau wie bei der if-Anweisung. Wenn Sie einen Codierungsfehler für eine reine Anwendung erhalten, stellen Sie sicher, dass Sie nach Bedarf die Spaltenpriorität überprüfen. Führen Sie den Code aus, und geben Sie zehn ein. Diesmal gibt die Anwendung die Fehlermeldung aus. Lassen Sie uns nun versuchen, eine Menüauswahl eines Restaurants zu erstellen. Das Restaurant bietet Pastor Pizzasalat und Panna Cotta für süß. Nachdem Sie eines der Elemente ausgewählt haben, bringt der Server es zu Ihnen. Das Erstellen einer Menüauswahl erfordert so etwas wie eine if else-Anweisung. Wenn jedoch die LIF-Ursache verwendet wird, ist
die LIF-Ursache eine Kombination aus der else-Klausel und einer separaten IF-Anweisung. In den folgenden Schritten wird beschrieben, wie Sie die if,
e l i f -Anweisung verwenden , um ein Menü zu erstellen. In jedem Fall werden Auswahlmöglichkeiten mit
einem bestimmten Wert verglichen, um eine Bedingung für diesen Wert zu erstellen Wenn keine der Optionen korrekt ist, die else -Klausel standardmäßig ausgeführt, um dem Benutzer mitzuteilen, dass die Eingabeauswahl ungültig ist. Jetzt führe ich den Code aus. Python wartet darauf, dass ich eine Nummer einfüge, die Nachricht
ausdrucke und dein Lieblingsmenü auswähle. Ich werde die Nummer drei setzen und die Nachricht erscheint, Sie haben Salat gewählt, offensichtlich, weil drei das Salatmenü ist. Der Entscheidungsprozess findet oft in Ebenen statt. Zum Beispiel, wenn Sie ins Restaurant gehen und Pasta wählen, haben
Sie eine Entscheidung der ersten Ebene getroffen. Jetzt fragt der Server, welche Art von Vergangenheit Sie wollen. Zum Beispiel sind ein Stier und ja eine Carbonara. Diese Auswahl wird eine zweite Ebene Entscheidungsfindung in Ebenen mit jeder Ebene, die sich auf die Entscheidung auf einer vorherigen Ebene getroffen wird Verschachtelung genannt. Entwickler verwenden häufig Verschachtelungstechniken, um
Anwendungen zu erstellen , die komplexe Entscheidungen basierend auf verschiedenen Eingaben treffen können. Die am häufigsten verwendeten Mehrfachselektionstechniken eine Kombination aus if und if else Anweisungen. Diese Form der Auswahl wird oft als Selektionsbaum bezeichnet. Der folgende Code veranschaulicht, wie eine Auswahlstruktur erstellt wird. Löschen Sie den vorherigen Code, und beginnen Sie mit der Eingabe. Geben Sie eine Zahl zwischen 15 ein. Geben wir drei ein. Geben Sie eine zweite Zahl ein. Jetzt lass uns fünf hineinlegen. Das Ergebnis ist 15, denn dreimal fünf gibt uns 15. Ich werde den Code erneut ausführen und fünf als erste Nummer setzen, und zehn ist die zweite Nummer. Und es druckt die Nachricht falsch zweiten Wert. So funktioniert es großartig. Wenn Sie versuchen, einen Wert außerhalb des angeforderten Bereichs anzugeben, eine Fehlermeldung angezeigt. Die Fehlermeldung ist
entweder auf den ersten oder zweiten Eingabewert zugeschnitten , um zu wissen, welcher Wert falsch war. als Hausaufgaben-Übung, Versuchen Sieals Hausaufgaben-Übung,ein Restaurant-Menü mit verschachtelten Decision Statements zu erstellen. Vielen Dank, dass Sie zugesehen haben. Und wenn Sie Fragen oder Kommentare haben, lassen
Sie sie bitte im Q und in einem Udemy-Forum.
80. für Schleifen: Hallo, Studenten. Bis jetzt haben wir gelernt, dass die if-Anweisung, aber was, wenn Sie einen Codeblock nur mit einer bestimmten Anzahl von Malen ausführen möchten, können
Sie dies mit einer for-Schleife Anweisung tun und der Bereichsfunktion helfen. Und Sie werden eine neue Funktion namens enumerate lernen. Die for-Schleife führt also den Codeblock
wiederholt aus , bis die Bedingung in der for-Anweisung nicht mehr gültig ist. In Python kann alles durchlaufen werden,
z. B. eine Zeichenfolge, eine Liste oder ein Tupel. Dies wird auch als schrecklich bezeichnet. Die Syntax ist die folgende. Und das ist das Flussdiagramm. Lassen Sie uns ein Beispiel machen, die Shell und beginnen Sie mit der Eingabe. In diesem Programm haben wir eine Liste von Jahreszeiten mit vier Elementen. Die Aussage für Jahre in den Saisons durchläuft die Saisonliste und weist jedes Mitglied der variablen Jahressaison zu. Wenn wir das Programm in First Signs Winter auf das variable Jahr Saison laufen, dann druckt den Wert Winter. Danach
durchläuft das Programm die Liste weiter , bis das Ende seiner Liste erreicht ist. Wenn Sie den Elementindex in einer Liste anzeigen möchten, können
Sie die Aufzählungsfunktion verwenden. Gehen wir mit der zweiten Zeile und führen Sie das Programm erneut aus. Sie können den Index daneben sehen. Jedes Element ist auf der Liste. Wenn Sie Fragen haben, posten
Sie diese bitte im Diskussionsforum. For loop ist ein grundlegendes Konzept und ich möchte, dass Sie es vollständig verstehen. Danke fürs Zuschauen.
81. BEITRÄGE für die Nutzung der für Erklärung: Der beste Weg, um zu sehen, wie eine for-Schleife funktioniert, besteht darin, eine zu erstellen. Wir werden ein Beispiel machen, das eine Zeichenfolge für die Sequenz verwendet. Die for-Schleife verarbeitet jedes der Zeichen in der Zeichenfolge und dreht, bis die Zeichen nicht mehr vorhanden sind. Nehmen Sie den folgenden Code in den Editor. Das Beispiel beginnt mit dem Erstellen eines variablen Buchstaben taub, um die Anzahl der verarbeiteten Buchstaben zu verfolgen. Jedes Mal, wenn die Schleife abgeschlossen ist, wird der
Buchstabe num um eins aktualisiert. Die for-Anweisung arbeitet durch die Reihenfolge der Buchstaben in der Zeichenfolge und Dreze, und es platziert jeden Buchstaben der Reihe nach in Buchstaben. Lassen Sie uns den Code ausführen, speichern Sie ihn zuerst, der Buchstabe eins ist ein n-ten, Buchstabe, zwei ist n, und so weiter. Das Programm stoppt, wenn es den letzten Buchstaben des Namens druckt, und das ist der Buchstabe S.
Die Bremsklausel macht das Atmen aus der Schleife möglich. Sie platzieren jedoch nicht nur die break-Klausel in Ihrem Code. Sie umgeben es mit einer if-Anweisung, die die Bedingungen für die Ausgabe einer Unterbrechung definiert. Im folgenden Beispiel lassen
wir den Benutzer eine Zeichenfolge mit variabler Länge zur Verfügung stellen. Wenn die Zeichenfolge länger als acht Zeichen ist, stoppt
die Anwendung die Verarbeitung. Lassen Sie uns den vorherigen Code löschen und an einigen Beispielen arbeiten. Führen Sie den Code aus und geben Sie John ein. Der Name hat weniger als acht Zeichen und druckt ihn aus. Aber wenn ich Alexander tippe, hört
die Anwendung auf, sie zu verarbeiten. Und hier ist die Nachricht. Die Zeichenfolge ist zu lang. Manchmal möchten Sie jedes Element in einer Sequenz überprüfen, aber bestimmte Elemente nicht verarbeiten. Die Bruchgesetze treten einfach in die Schleife ein, damit Sie es in dieser Situation nicht verwenden. Die Bruchgesetze-Alternative, die viele Entwickler verwenden, ist die continue Klausel. Wie bei der Bremsklausel erscheint
diese weiter Klausel als Teil einer if-Anweisung. Verarbeitung wird jedoch mit
dem nächsten Element in der Sequenz fortgesetzt , anstatt vollständig zu beenden. Im folgenden Beispiel, Der Code weigert sich, den Buchstaben D zu verarbeiten, aber jeder andere Buchstabe in Andreas ist Name. Drücken Sie F5, um den Code auszuführen und das Ergebnis anzuzeigen. Es gibt keinen Buchstaben D im Wort. Die Python Sprache enthält die zweite Art der continue-Klausel. Die vorherige Klausel funktioniert fast genauso wie die continue-Klausel, außer dass sie die Vervollständigung des Codes im if-Anweisungsblock ermöglicht, in dem sie erscheint. Bearbeiten Sie den Code und verwenden Sie die letzten Krallen, anstatt den Code fortzusetzen und erneut auszuführen. Die Verwendung der vorherigen Klausel ermöglicht die Nachbearbeitung einer unerwünschten Eingabe. Wenn ich die Position der Druckanweisung
ändere, bekomme ich andere Ergebnisse. Python hat eine andere Schleifenklausel, die Sie in anderen Sprachen nicht finden werden. Die else - Klausel macht die Ausführung von Code möglich, wenn Sie keine Elemente des Prozesses in einer Sequenz haben. Geben Sie beispielsweise den folgenden Code ein. Lassen Sie uns den Code ausführen ein Wort eingeben, ich gebe meinen Namen Andreas ein, und die Ausgabe ist die Buchstaben eins nach dem anderen. Jetzt werde ich den Code ausführen, ohne etwas einzugeben und die else-Klausel wird ausgeführt, indem die Nachricht eingegeben wird, die Zeichenfolge ist leer.
82. Während Schleifen: Hey, alle. In der vorherigen Vorlesung haben wir die vier Schleife gelernt, die den Codeblock nur für eine bestimmte Anzahl von Malen ausführt. Im Gegensatz dazu läuft die Wildschleife solange oder während eine bestimmte Bedingung erfüllt ist. Zum Beispiel könnten Sie eine while-Schleife verwenden, um durch eine Reihe von Zahlen zu zählen. Lassen Sie es uns in Aktion sehen. Werfen wir einen Blick auf das Flussdiagramm zuerst. Öffnen wir nun den Leerlauf-Editor und führen Sie den folgenden Code aus. Führen Sie das Programm aus, und es zeigt die Zahlen von 0 bis drei. In der ersten Zeile beginnen wir mit dem Zählen von 0, indem wir die Zahlenvariable auf 0 setzen. Die while-Schleife führt das Programm so lange wie die Zahlen weniger als vier und druckt jede Zahl mit der Zahl plus eine Anweisung, wir fügen eine in jeder Schleife. Die letzte Anweisung gibt die Nachricht aus, um uns zu zeigen, dass das Programm beendet wurde. Python wiederholt also die Schleife viermal und insgesamt, manchmal kann eine Schleife unendlich sein. Die Schleife wird zu einer Endlosschleife, wenn die Bedingung nie falsch wird Sie müssen vorsichtig sein, wenn Sie while-Schleifen verwenden, da diese Bedingung nie zu einem falschen Wert aufgelöst wird. Dies führt zu einer Schleife, die nie endet. Eine solche Schleife wird als Endlosschleife bezeichnet. Im obigen Beispiel, wenn wir die num plus eine Anweisung löschen, wird der bedingte Test dennoch immer als vier auf true ausgeführt und die while-Schleife wird für immer laufen eine Reihe von Nullen wie diese
drucken. Wenn Ihr Programm in einer Endlosschleife stecken bleibt, drücken Sie die Steuerung plus c oder schließen Sie einfach das Terminalfenster, das die Ausgabe Ihres Programms anzeigt. Um das Schreiben von Endlosschleifen zu vermeiden, testen Sie jede wilde Schleife und stellen Sie sicher, dass die Schleife stoppt, wenn Sie dies erwarten. Es ist vorteilhaft, einen Programmcode auszuführen, solange der Benutzer will, indem er den größten Teil des Programms in eine while-Schleife setzt, wir definieren einen Beendigungswert und dann werden wir das Programm
laufen lassen , solange der Benutzer den schnellen Wert nicht eingegeben hat. Lassen Sie uns den folgenden Code schreiben. Und lassen Sie uns den Python Code ausführen. Ich habe den Dickdarm hier vergessen. Python zeigt zunächst die Eingabeaufforderung an und wartet darauf, dass der Benutzer seine Eingabe eingibt. Was auch immer sie eingeben, wird in der myText-Variable gespeichert und auf dem Bildschirm gedruckt. Danach wertet Python die Bedingung in einer while-Anweisung neu aus. Solange der Benutzer das Wort quit nicht eingegeben wird, wird
die Eingabeaufforderung erneut angezeigt und Python wartet auf Eingabe. Wenn der Benutzer quit eingibt, stoppt
Python die Ausführung der while-Schleife und das Programm endet. Danke fürs Zuschauen.
83. Brechen und fortsetzen: Willkommen zu dieser Lektion und vielen Dank, dass Sie es so weit gemacht haben. In dieser Vorlesung lernen Sie Aussagen, die innerhalb von Schleifen verwendet werden können. Dort brechen und fortsetzen Schlüsselwörter. Manchmal möchten Sie möglicherweise die gesamte Schleife mit einer bestimmten Bedingung zu beenden ist erfüllt. Um dies zu tun, verwenden wir das break-Schlüsselwort, die break-Anweisung in Python beendet die aktuelle Schleife und setzt Ausführung an der Anweisung genau wie die reguläre Aufschlüsselung fort und sehen, die häufigste Verwendung für den Bruch ist, wenn einige äußere Bedingung ausgelöst wird, die einen übereilten Ausgang aus der Schleife erfordert. Die break-Anweisung kann sowohl in while- als auch for-Schleifen verwendet werden. Lassen Sie uns das folgende Programm eingeben und ausführen, um zu sehen, wie es funktioniert. Ohne das Schlüsselwort break sollte
das Programm die Zahlen von fünf zu eins mit dem Schlüsselwort break drucken, das Programm endet vorzeitig an Nummer zwei. Dies liegt daran, dass, wenn die Zahl den Wert von eins erreicht, das break-Schlüsselwort bewirkt, dass die Schleife beendet wird. Beachten Sie, dass wir eine if-Anweisung innerhalb einer while-Schleife verwendet haben. Dies ist eine weit verbreitete Praxis in der Programmierung und eine robuste Funktion, wie wir den Kurs fortsetzen. Dies wird auch als verschachtelte Steueranweisung bezeichnet. Ein weiteres Schlüsselwort für Schleifen ist das Schlüsselwort continue. Die continue -Anweisung in Python gibt ein Steuerelement an den Anfang der while-Schleife zurück. Die continue Anweisung lehnt alle verbleibenden Anweisungen in der aktuellen Iteration der Schleife ab und verschiebt das Steuerelement zurück an den Anfang der Schleife. Es kann sowohl in while- als auch für Schleifen wie Break verwendet werden. Um es besser zu verstehen, ersetzen wir den Befehl break durch die Fortsetzung. Führen Sie das Programm aus. Im Gegensatz zum vorherigen Beispiel weist
der continue die if-Anweisung zurück und verschiebt das Steuerelement zurück an den Anfang der Schleife. Auch der Rest der Schleife nach dem Schlüsselwort wird übersprungen, wenn wir Code hatten, natürlich. Schließlich gab es eine frühere Aussage, die keine Operation ist. Die Vergangenheit Dave und hilft, einen Codeblock zu erstellen, ist aber nicht mehr erforderlich. Es ist nicht so nützlich und Sie müssen einfach wissen, was es tut. Nichts mehr. Wenn Sie nicht vollständig verstehen, machen Sie sich keine Sorgen, wir erstellen ein Projekt, das beide Aussagen enthält. Danke fürs Zuschauen.
84. PROJEKT Spiel: Wir werden ein Spiel erstellen, in
dem der Computer eine Nummer wählt und der Spieler es erraten. Im Ratespiel denkt Python an eine Zufallszahl. Der Spieler nimmt die Nummer an. Der erste Schritt besteht darin, einen Text von einem Benutzer zu erhalten, indem Sie die Eingabeanweisung verwenden. Beginnen wir mit der Eingabe in den Editor. Die Variablenaufforderung zeigt auf ein Literal. Der Literalname befindet sich zwischen den Klammern. Ich erfasse, was der Benutzer mit einer Variablen namens Spieler eingibt, die Eingabe gibt eine Zeichenfolge zurück, unabhängig von den Playertypen, auch wenn es nur eine Zahl ist, werden
Sie eine Zeichenfolge von der Eingabe erhalten. Um die Vermutungen zu vergleichen, müssen
Sie die Spieler Gas in eine Zahl umwandeln. Ihr Spiel muss überprüfen, ob die Vermutung mit der Nummer des Computers übereinstimmt. Sagen Sie, dass der Computer zehn ausgedacht hat. Um die Variable zu vergleichen, raten
Spieler mit der Zahl, die Sie benötigen, um den Wert
in einer Variablen namens Computer-Unterstrich Nummer speichern . Nehmen wir die Variable zu Beginn unseres Programms. Wenn Sie die Vermutung mit der Antwort vergleichen können, können
Sie eine Antwort vom Player drucken. Das integrierte I N T nimmt eine Zeichenfolge mit einer ganzen Zahl und ändert sie in etwas, das Python als Zahl erkennt. Denken Sie daran, wann immer Sie codieren, der Doppelpunkt bedeutet, dass ein neuer Codeblock der Zeile nach dem Doppelpunkt und jeder anderen Zeile im Block
folgt Sie müssen mit vier Leerzeichen beginnen. Was passiert, wenn der Spieler die falsche Antwort errät? Das Schlüsselwort else ändert den Vorgang des if-Schlüsselworts. Es wird immer ausgeführt, wenn fortfahren. Wenn Codeblock nicht ausgeführt wird, lassen Sie uns eingeben, den Code
ausführen und eingeben. Der Codeblock funktioniert einwandfrei. Jetzt müssen wir den Spielern zeigen, ob ihre Vermutung zu hoch oder zu niedrig ist. Mit dem werden wir in den LIF-Block zwischen dem Programm und der if-Anweisung setzen. Also alle lügt die Nachricht falsch. Raten Sie nochmal, und ich werde es durch die beiden High ersetzen. Führen Sie den Code aus, und geben Sie 20 ein. Die Meldung „Hoch“ wird auf dem Bildschirm angezeigt. Sie müssen immer noch etwas einrichten, das der Computer immer fragt, ob der Spieler die Nummer nicht erraten kann. Sie müssen dies tun, indem Sie den Code setzen, der nach den Spielern fragt erraten und seinen Wert während der Schleife testen. Dann mit der break-Anweisung, wenn die richtige Antwort gegeben wird, lassen Sie uns aus der Schleife brechen. Lassen Sie uns den Code bearbeiten. Hier. Wir werden die Schleife brechen. Die Schleifenanweisung ermöglicht es Ihnen, jede Schleife zu beenden, in der sich Python bereits befindet. Unabhängig von umschließenden Schleifen Bedingung. Wenn Sie eine Schleife in einer Schleife haben, die Bremse durch die Schleifenebene angewendet, in der die Bremse erscheint,
in unserem Beispiel bricht sie die innere Schleife, die if-Schleife. Um die äußere Schleife zu brechen, müssen
Sie sich im Codeblock der äußeren Schleife befinden. Wie können Sie Python dazu bringen, an eine Zahl zu denken, die zufällige Ganzzahl-Funktion, die
Rechtshänder aus dem Random-Modul, es gibt Ihnen eine Zufallszahl zwischen zwei Zahlen, die Sie in die Klammer setzen, die folgt Randint. Die Zahl enthält die niedrigste oder höchste Zahl. Wenn Sie eine Zahl zwischen 110 möchten, verwenden Sie random.random eins bis zehn. Das zufällige Modul kommt mit Python, aber im Gegensatz zu den eingebauten Ins, die nicht automatisch geladen werden, ist
das zufällige Modul Teil der Python-Standardbibliothek. Wenn Sie es benötigen, müssen Sie es importieren. Warum kann Python nicht einfach alles automatisch laden? Weil es die Programmierung langweilig machen würde. Jedes Mal, wenn Sie ein Programm ausgeführt
haben, müssen Sie die Wand wiegen, die es in geladenen allen Modulen in der Standardbibliothek gefunden wurde. Neben dem Zugriff auf die Standardbibliothek ermöglicht Ihnen
die wichtige Anweisung auch das Modul zu verwenden , das jemand anderes geschrieben hat als Drittanbieter-Module. Um diese zu verwenden, müssen Sie sie herunterladen und auf Ihrem Computer installieren. Ich habe einen ganzen Abschnitt mit Modulen später im Kurs. Fügen Sie also diese beiden Codezeilen von Anfang an hinzu. Ich habe die Codezeile mit
der Zahlenvariable des Computers bearbeitet und eine Zahl von eins bis 50 eingefügt. Wir haben unser Ratespiel beendet und sind bereit, es zu testen, das Programm auszuführen. Es funktioniert großartig. Herzlichen Glückwunsch, Sie haben gerade Ihr erstes Spiel mit Python Programmierung erstellt. Denken Sie daran, dass Sie Befehle in Ihren Code schreiben können eine kurze Erklärung dafür zu geben, was der Code tun soll.
85. Verwenden von Statements mit Listen: Hey, Leute, was ist los? In diesem Video erfahren Sie, wie Sie if-Anweisungen mit Listen verwenden. Sie können ganz einfach eine Liste und eine if-Anweisung kombinieren. Der beste Weg, um die Kombination zu verstehen, ist ein Beispiel. Das folgende Beispiel, um die Liste der Einkäufe in einem Supermarkt zu finden. Öffnen Sie den Texteditor und beginnen Sie mit der Eingabe. Zuerst definieren wir die Liste mit unserer Einkaufsliste wenn das Programm darauf wartet, dass der Benutzer das gewünschte Produkt eingeben kann. Wenn sich das angeforderte Element mit den verfügbaren Elementen in der Liste befindet, druckt
Python eine Meldung, dass das Produkt verfügbar ist. Der „else“ -Block gibt eine Meldung die dem Benutzer mitteilt, dass dieser Produkttyp nicht verfügbar ist. Aus dem obigen Beispiel haben
wir es geschafft, ein Problem zu lösen, wenn Anweisungen und Listen kombiniert werden. Danke fürs Zuschauen.
86. Verwenden für Loops mit Listen: Hey alle, in der vorherigen Vorlesung haben wir über die for-Schleife gelernt. Wir verwenden for-Schleifen, um einen Codeblock eine bestimmte Anzahl von Malen auszuführen. Ich möchte Ihnen jetzt die Kombination von for-Schleifen mit Listen zeigen. Öffnen wir den Python Editor und beginnen Sie mit
der Eingabe des folgenden Programms, das eine Liste von Ärzten im Krankenhaus enthält. Technisch wiederholt eine for-Schleife den Codeblock einmal für jeden Wert in einer Liste. Zum Beispiel, wenn wir es ausführen, druckt
dieses Programm die verfügbare Art von Arzt einzeln. Sieh dir das Ergebnis an. In der ersten Zeile haben
wir eine Liste der verfügbaren Ärzte im Krankenhaus. Dann drucken
wir mit Hilfe der for-Schleife die Nachricht in diesem Krankenhaus, es gibt diese Arztspezialität. Dies ist ein einfaches Beispiel dafür, wie wir eine Liste mit einer for-Schleife kombinieren können. Danke fürs Zuschauen.
87. Verwenden einer Rolle mit Listen und Wörterbücher: Hallo Schüler und willkommen zurück zum Kurs, während wir weiterhin
lernen, wie man eine while-Schleife mit Listen und Wörterbüchern kombiniert. Verwendung von while-Schleife mit Listen und Wörterbüchern ermöglicht es Ihnen, viele Eingaben zu sammeln , zu
speichern und zu organisieren, die zu untersuchen und zu berichten. Später. In diesem Bericht bitten
wir den Benutzer zuerst, ein Passwort einzugeben. Wenn das Kennwort korrekt ist, wird
die Anwendung geöffnet. Wenn das Kennwort
jedoch falsch ist, wird
eine Meldung angezeigt, in der Sie aufgefordert werden, das Kennwort erneut einzugeben. Lassen Sie uns das Programm ausführen und ein Passwort eingeben. Zum Beispiel 1234. Python lässt uns wissen, dass das Passwort falsch ist und fordert uns auf, es erneut zu versuchen. Jetzt werde ich vier Asse eingeben, was das richtige Passwort ist. Kopieren Sie das Programm und fügen Sie es in die Python Tutor Website ein, damit wir es visualisieren können. Wählen Sie Python drei und fügen Sie es dort ein. Drücken Sie die Taste, visualisieren Sie die Ausführung. Die erste Zeile ist eine einfache Nachricht, die den Benutzer auffordert, ein Passwort einzugeben. Dann wartet
Python in der zweiten Zeile darauf, dass der Benutzer einen Code eingibt. Der Code wird in meiner Code-Variable gespeichert. In der dritten Zeile haben wir ein Wörterbuch mit dem richtigen Passwort innerhalb von vier Assen. Dann beginnt die Schleife, während die Variable mein Code nicht gleich mit dem richtigen Passwort ist, drucken Sie eine Nachricht, dass der Code falsch ist, und fragen Sie erneut mit dem Code, wenn der Benutzer den Code richtig eingibt, eine Drucknachricht mit korrekten Texten angezeigt, und das Programm wird beendet. So können wir sehen, dass die Kombination von Wild Loop mit Listen oder Wörterbüchern leistungsfähige Programme erstellen kann. Vergessen Sie nicht, diese Website zu nutzen. Es ist eine großartige Übung, vor allem für absolute Anfänger. Danke fürs Zuschauen.
88. Stapel mit Listen erstellen: Ein Stack ist ein Array oder eine Listenstruktur von Funktionsaufrufen und Parametern, die in der modernen Computerprogrammierung und CPU-Architektur verwendet werden. Wie ein Stapel von Platten in einem Buffet, Restaurant oder Cafeteria, Elemente in einem Stapel hinzugefügt oder von der Spitze eines Stapels entfernt werden, ist eine letzte In-, First-Out- oder FIFO-Reihenfolge. Der Prozess des Hinzufügens von Daten zu einem Stapel wird als
Push bezeichnet , während Daten von einem Stapel empfangen wird als Pop bezeichnet. Dies geschieht am oberen Rand des Stapels. Der Stapelzeiger zeigt die Stapelausdehnung angepasst wird, wenn Elemente in einen Stapel geschoben oder gepumpt werden. Wenn eine Funktion aufgerufen wird, wird
die Adresse der nächsten Anweisung in den Stack geschoben. Wenn die Funktion vorhanden ist, wird
die Adresse aus dem Stapel entfernt und die Ausführung wird an dieser Adresse fortgesetzt. Leider stellt Python keinen Stack als Sammlung zur Verfügung. Es bietet jedoch Listen und Sie können eine Liste als vollkommen akzeptablen Stack verwenden. Die folgenden Schritte helfen Ihnen, ein Beispiel für die Verwendung einer Liste als Stapel zu erstellen. In diesem Beispiel erstellt die Anwendung eine Liste und
eine Variable, um die maximale Stapelgröße zu bestimmen. Stapel haben in der Regel einen bestimmten Größenbereich. Dies ist zwar ein winziger Stapel, aber es dient gut für die Beispielbedürfnisse. Stempel arbeiteten, indem sie einen Wert an den oberen Rand des
Stapels schieben und Werte von den Stacks oben, eine Funktion in Python und durch eine def-Anweisung definiert wurden. In diesem Programm habe ich drei Funktionen definiert. Das Display Stapel, Push und Pop. Wir werden alles über die Funktion erfahren, ist nicht in einem späteren Abschnitt. Also seien Sie vorerst geduldig. Die Schiebepumpenfunktionen führten diese beiden Aufgaben aus. Der Code fügt Anzeige-Stack hinzu, um es einfacher zu machen, den Stack-Inhalt zu sehen ist erforderlich. Len ist eine eingebaute Funktion in Python, Sie können die len verwenden, um auf die Länge eines bestimmten Strings, Arrays, Liste, Tupel, Wörterbuch usw. zu gelangen. Die verbleibenden Codeübungen im Stapel demonstrieren seine Funktionalität, indem sie Werte darauf schieben und sie dann entfernen. für Hauptübungsabschnitte, Tests, Stapelfunktionen Führen Siefür Hauptübungsabschnitte, Tests, Stapelfunktionenden Code aus und schauen Sie sich an, wie Python den Sack mit
Informationen füllt und dann einen auf dem Bildschirm anzeigt. Der Stapel enthält derzeit drei Werte, 123, drücken Sie die Eingabetaste. Die Anwendung versucht, einen anderen Wert auf den Stack zu schieben. Der Stapel ist jedoch voll, so dass die Aufgabe fehlschlägt. Drücken Sie erneut die Eingabetaste Die Anwendung Pumpen von Wert von der Spitze des Stapels. Denken Sie daran, dass drei die Spitze des Stapels ist. Das ist also der Wert, der fehlt. Geben Sie erneut ein, und die Anwendung versucht, mehr Werte aus dem Stapel, den sie enthält, zu Pop, was zu einem Fehler führt und ein Stack ist leer. Es ist eine gute Übung, die Ausführung von Python Tutor.com Schritt für Schritt zu visualisieren. Danke fürs Zuschauen.
89. Listen suchen: Die Möglichkeit, eine Liste zu durchsuchen, ist von wesentlicher Bedeutung, wenn Sie Wartungsaufgaben besser verwalten
möchten. Mit dem folgenden Code können Sie eine Anwendung erstellen, die die Möglichkeit
zeigt, eine Liste nach bestimmten Werten zu durchsuchen. Nehmen Sie den folgenden Code in den Editor. Das Beispiel beginnt mit der Erstellung einer Liste mit dem Namen Apple-Produkte, die Apple-Produktnamen enthält. Außerdem wird eine Variable namens
Apple-Produkte erstellt , die den Apple-Produktnamen enthält, den der Benutzer suchen möchte. Die Verstärkung tritt in eine Schleife ein, in der der Benutzer nach einem Apple-Produktnamen
gefragt wird , der in Apple-Produkten platziert wird. Solange diese Variable das Wort quit nicht enthält, setzt sie eine Schleife
fort, die Eingaben anfordert. Immer wenn der Benutzer einen Apple-Produktnamen eingibt, fordert
die Anwendung die Liste auf, die Anzahl der Apple-Produkte aus Währungen zu zählen. Wenn der Wert gleich oder größer als eins ist, enthält
die Liste das Apple-Produkt und eine unangemessene Meldung wird auf dem Bildschirm angezeigt. Auf der anderen Seite, wenn die Liste nicht enthält die angeforderte Farbe in alternative Meldung erscheint auf dem Bildschirm. Lassen Sie uns den Code speichern und ausführen. Python fordert Sie auf,
den Apple-Produktnamen einzugeben, iPad Enter einzugeben, und Sie erhalten eine Meldung, dass das iPad in der Liste vorhanden ist. Geben Sie nun iMac ein, und Sie sehen eine Meldung, dass das iOS nicht existiert. Geben Sie quit ein, und die Anwendung wird beendet. Der Computer kann Informationen in einer Liste finden, unabhängig davon, in welcher Reihenfolge sie angezeigt werden. Längere Listen sind einfacher zu suchen, wenn Sie sie in einer sortierten Reihenfolge platzieren. Der Hauptgrund, eine Liste in sortierter Reihenfolge zu setzen, besteht jedoch darin, es dem menschlichen Benutzer
einfacher zu machen , die Informationsliste enthält zu sehen. Wir werden ein Beispiel machen, das mit einer unsortierten Liste beginnt. Anschließend sortiert er die Liste und gibt sie in der Anzeige aus. Der folgende Code veranschaulicht, wie diese Aufgabe ausgeführt wird. Das Beispiel beginnt mit der Erstellung eines Arrays von Apple-Produkten. Die Apple-Produkte sind derzeit in unsortierter Reihenfolge. Das Beispiel druckt dann die Produkte und die Reihenfolge, in der sie angezeigt werden. Beachten Sie, dass ein Argument für die Druckfunktion verwendet wird, um sicherzustellen , dass alle Produkte und Bäume in einer Zeile verbleiben, wodurch sie leichter verglichen werden können. Sortieren der Liste ist so einfach wie das Aufrufen der Sortierfunktion, nachdem das Beispiel die Sortierfunktion aufruft
, die die Liste erneut ausgibt, damit Sie das Ergebnis sehen können. Führen Sie den Code aus. Dies ist ein Namensfehler, da dieses Element sich von diesem Element unterscheidet Großschreibung des ersten Buchstabens. Also lasst uns das auch ändern. Ich lasse ein Leerzeichen in doppelten Anführungszeichen. Führen Sie erneut aus, und Python gibt sowohl die unsortierten als auch die sortierten Listen aus. Möglicherweise müssen Sie Elemente in umgekehrter Reihenfolge zu Zeiten sortieren, um diese Aufgabe zu erfüllen, verwenden
Sie die umgekehrte Funktion. Die Funktion muss in einer separaten Zeile angezeigt werden. Fügen Sie hier also die folgende Codezeile hinzu. Führen Sie den Code erneut aus und sehen Sie die Produkte in umgekehrter Reihenfolge an. Danke fürs Zuschauen.
90. Looping: Hey, Leute, was ist los? In diesem Video erfahren Sie, wie Sie eine Schleife durch ein Wörterbuch durchführen. Okay, lasst uns in Aktion treten. Wie Sie bereits wissen, kann ein Wörterbuch Schlüsselwertpaare enthalten. Wörterbuch kann ein paar Einträge haben, aber manchmal enthalten sie große Datenmengen, vielleicht Millionen von Paaren. Deshalb ist es vorteilhaft, ein Wörterbuch zu durchlaufen. Das folgende Beispiel, das ich schreiben werde, hat ein Wörterbuch mit Benutzernamen und Passwörtern von drei Benutzern. Ich möchte alle Informationen im
obigen Wörterbuch mit einer for-Schleife den folgenden Code drucken . Lassen Sie uns den zweiten Zeilencode untersuchen. Die for-Schleife muss Variablen, die den Benutzernamen und das Passwort in jedem Paar enthalten. Sie können einen beliebigen Namen für diese beiden Variablen auswählen. Nach diesen beiden Variablen verwenden
wir die Methodenelemente, die eine Liste von Schlüsselwertpaaren zurückgibt. Die for-Schleife speichert jedes dieser Paare in den beiden bereitgestellten Variablen. In der nächsten Zeile setzen wir den Benutzernamen und das Passwort,
den umgekehrten Schrägstrich n. Die erste Druckanweisung stellt sicher, dass vor jedem Schlüsselwertpaar in der Ausgabe
eine leere Zeile eingefügt wird. Sehen Sie sich nun das Ergebnis in der Python -Shell an. Wir könnten das Programm kopieren und es in Python Tutor.com einfügen, wenn wir es in Aktion Schritt für Schritt sehen wollten. Großartig. Vielen Dank für das Ansehen und ich werde Sie in der nächsten Video-Tutorial, glücklich lernen.
91. Ersetzen der Switch-Anweisung durch ein Wörterbuch: Die meisten Programmiersprachen bieten eine Art von switch-Anweisung. Eine switch-Anweisung sorgt für Elegante Menüs Typen, Wahlen. Der Benutzer hat mehrere Optionen, darf
aber nur eine von ihnen auswählen. Das Programm nimmt einige Schritte auf der Grundlage der Benutzerauswahl. Hier ist ein Beispiel für eine andere Programmiersprache. Leider kommt Python nicht mit einer switch-Anweisung. Mithilfe eines Wörterbuchs können
Sie jedoch die Verwendung einer switch-Anweisung simulieren. Nehmen wir den folgenden Code, um die erforderliche Technik zu demonstrieren. Jede dieser Funktionen definiert eine Aufgabe mit der Auswahl einer Farboption auf dem Bildschirm
verbunden ist. Nur einer von ihnen wird zu einem bestimmten Zeitpunkt angerufen. Lassen Sie uns mit der Eingabe des Wörterbuch-Codes fortfahren. Dieser Code ist das Wörterbuch. Jeder Schlüssel ist wie der Fall Teil einer switch-Anweisung, der Wert gibt an, was zu tun ist. Schließlich lassen Sie uns eingeben, die Benutzeroberfläche ist Teil des Beispielcodes. Beginnt mit der Erstellung einer Eingabevariablenauswahl. Dann geht es in eine Schleife, bis der Benutzer einen Wert von drei eingibt. Während jeder Schleife zeigt die Anwendung eine Liste von Optionen an und wartet dann auf die Benutzereingabe. Wenn der Benutzer Eingaben bereitstellt, führt
die Anwendung eine Bereichsprüfung darauf durch. Lassen Sie uns den Code ausführen. Python zeigt das Menü an, das darauf wartet, dass Sie einen Optionstyp 0 auswählen und die Anwendung
eingeben, die Ihnen mitteilt, dass Sie rot ausgewählt haben und dann das Menü erneut anzeigt. Geben Sie drei ein und drücken Sie die Eingabetaste. Die Anwendung endet. Wie immer können Sie Ihren Code Schritt für Schritt mit Python Tutor.com visualisieren. Danke fürs Zuschauen.
92. Arbeiten mit dem Gegenobjekt: Manchmal haben Sie eine Datenquelle, und Sie müssen einfach wissen, wie oft Dinge passieren, wie z. B. das Aussehen eines bestimmten Elements in der Liste. Wenn Sie eine Shortlist haben, können
Sie einfach die Elemente zählen. Wenn Sie jedoch eine lange Liste haben, ist es fast unmöglich, eine genaue Zählung zu
erhalten. Die Zählerobjekte, lassen Sie uns die Elemente schnell zählen. Lassen Sie uns ein Beispiel machen, das eine Liste mit
sich wiederholenden Elementen erstellt und dann zählt, wie oft diese Elemente erscheinen. Geben Sie den folgenden Code ein. Um das Zählerobjekt zu verwenden, müssen
Sie es aus Sammlungen importieren. Das Beispiel beginnt mit der Erstellung einer Liste. Mit sich wiederholenden numerischen Elementen. Sie können leicht sehen, dass einige Elemente mehr als einmal erscheinen, wie Nummer eins, das Beispiel in die Liste in einem neuen Zählerobjekt
platziert, Listenzähler. Die Anwendung druckt einen Listenzähler auf verschiedene Arten. Die erste Ausgabe ist der Zähler, wie er ohne Manipulation erscheint. Die zweite Ausgabe druckt die einzelnen eindeutigen Elemente in meiner Liste und die Häufigkeit, mit der jedes Element angezeigt wird. Um sowohl das Element als auch die Anzahl der Erscheinungen zu erhalten, müssen
Sie die Funktion des Elements verwenden, wie hier gezeigt. Schließlich zeigt das Beispiel, wie eine einzelne Anzahl aus der Liste mit der get-Funktion zu erhalten. Führen Sie den Code aus, und Python gibt die Ergebnisse der
Verwendung des Zählerobjekts aus. Danke fürs Zuschauen.
93. Was sind Funktionen: Funktionen sind eine einfache Möglichkeit, Aktionen mit ihnen zu gruppieren. Sie können einige Gruppen von Aktionen wiederholt ausführen,
ohne alle Code-Funktionen erneut eingeben zu müssen. Lassen Sie erklären, was y und function Sie Ihren Code wiederverwenden können. Um eine Funktion zu verwenden. Sie müssen eine, um die Funktion selbst zu finden und die Funktion aufzurufen oder aufzurufen. Hier ist ein einfaches Beispiel, das
Ihr Hello World-Programm belohnt , indem Sie eine Funktion öffnen Python -Shell-Fenster verwenden. Drücken Sie zweimal die Eingabetaste, um zur Eingabeaufforderung zurückzukehren. Es tut gar nichts. Jetzt müssen Sie die Funktion aufrufen, damit sie ausgeführt wird. Python ruft die Funktion auf, wenn Sie den Namen der Funktion gefolgt von Klammern schreiben. Der Codeblock
einer Funktion ist die Zeile, die der def-Anweisung folgt,
bis zur nächsten Zeile, die genauso wie die def-Anweisung eingerückt ist. Wenn der Python das Ende der Funktion erreicht, springt
er zurück an die Stelle, an der die Spalte aufgetreten ist, zurück mit den Klammern. Die Regeln für die Benennung einer Funktion oder viel wie die Regeln für die Benennung einer Variablen. Sie müssen mit einem Buchstaben oder einem Unterstrich beginnen. Sie sollten Kleinbuchstaben sein. Sie können keine Zahlen haben. Sie können beliebig lang sein, aber halten Sie sie kurz. Sie können nicht mit einem Python Schlüsselwort identisch sein. Funktionen haben eine spezielle Art von Kommentar, die eine doc-Zeichenfolge genannt wird. Der Hauptzweck eines Docstrings ist es, zu erklären, was die Funktion tun soll. Dies bedeutet, dass jemand, der Ihren Code durchsucht, versteht was die Funktion tut, ohne den Code selbst herauszufinden. Um einen Docstring zu erstellen, fügen Sie ein String-Literal in dreifachen Anführungszeichen als erste Zeile des Codeblocks der Funktion hinzu. Wie unser Beispiel sind Funktionen äußerst nützliche und leistungsfähige Werkzeuge in der Programmier-Toolbox, da sie Ihnen erlauben, Ihr Programm in aussagekräftige Blöcke zu trennen. In der nächsten Vorlesung werden wir einige integrierte Python Funktionen erklären. Danke fürs Zuschauen.
94. eingebautes Funktionieren: Hallo Studenten und herzlichen Glückwunsch, Sie haben es so weit geschafft. Jetzt sind Sie mit Schleifen vertraut und haben wahrscheinlich begonnen, Ihre eigenen kleinen Projekte zu erstellen. In diesem Video-Tutorial werden
wir einige der nützlichsten integrierten Funktionen in Python lernen. Lassen Sie uns mit der Len-Funktion beginnen. Die len Funktion zählt die Länge eines Wortes. So können Sie die len Funktion eines String-Werts oder einer Variablen übergeben, die eine Zeichenfolge enthält. Und die Funktion wertet den ganzzahligen Wert der Anzahl der Zeichen in dieser Zeichenfolge aus. Lassen Sie uns einige Beispiele in der Shell machen. Typ: Das Ergebnis ist fünf, weil das Wort hallo fünf Zeichen enthält. Ein weiteres Beispiel. Zuerst fordert das Programm den Benutzer auf, seinen Namen einzugeben,
geben Sie Ihren Namen ein und drücken Sie die Eingabetaste. Dann zählt Python das Zeichen des Namens und zeigt das Ergebnis an. Großartig. Wenn Sie eine Liste von Zahlen erstellen möchten, können
Sie das Ergebnis eines Bereichs direkt mit der Listenfunktion in eine Liste umwandeln. Die Bereichsfunktion macht es einfach, eine Reihe von Zahlen zu generieren. Dann können Sie die Listenfunktion verwenden, um den gleichen Satz von Zahlen in Liste zu konvertieren. Okay, lassen Sie es uns im Aktionstyp sehen. Wir haben eine Liste von Zahlen von eins bis neun erstellt. Schließlich einige eingebaute Funktionen, die uns helfen, einfache Statistiken wie Minimum,
Maximum und einige zu berechnen , habe ich bereits eine Liste namens num erstellt. Lasst uns tippen. Das Ergebnis ist eins. Natürlich. Das Ergebnis ist neun. Das Ergebnis ist 45. Es gibt Dutzende von integrierten Funktionen in Python, aber keine Sorge, Sie werden nur die nützlichen lernen. Danke fürs Zuschauen.
95. So definieren deiner Funktion: Willkommen zurück alle. Eine praktische Funktion von Python besteht darin,
Ihre Funktionen zu definieren und sie im gesamten Programm zu verwenden. Erstellen Sie Ihre Funktion. Ja, das ist richtig. Hier ist die Syntax zum Definieren einer Funktion. Lassen Sie uns nun die Syntax im Detail erklären. Die def-Anweisung teilt dem Programm mit, dass der Code aus der nächsten Zeile Teil der Funktion ist. Return wird verwendet, um eine Antwort von der Funktion zurückzugeben. Sobald die Funktion die return-Anweisung ausführt, wird
die Funktion beendet. Wenn Ihre Funktion keinen Wert zurückgeben muss, ist
diese return-Anweisung nicht erforderlich, oder Sie können zurückgeben none schreiben. Lassen Sie uns nun unsere erste Funktion definieren, öffnen Sie Leerlauf und Typ. In Zeile eins geben wir die Überschrift enthält taub und den Namen einer Funktion, Klammern und schließlich einen Doppelpunkt. Die nächste Zeile bildet den Funktionskörper. Führen Sie nun das Programm aus. Die ganze Definition definiert die Bedeutung des Namens my_function, aber es tut nichts anderes. Die Definition selbst lässt noch nichts gedruckt werden. Deshalb können Sie nichts und sichtbar in der
Shell sehen , nachdem Idol die Ausführung eines Programms beendet hat, aber seine Version der Shell merkt sich Funktionsdefinitionen aus dem Programm. Jetzt in der Shell Geben Sie ein. Python geht zurück und betrachtet die Definition und
führt dann den Code innerhalb der Funktionsdefinition aus
und druckt natürlich die Nachricht. Lassen Sie uns jetzt etwas anderes versuchen. Typ: Nichts passiert ohne Klammern. Es identifiziert den Funktionscode ist der Wert und geben Sie die Position im Speicher des Codes. Alles klar, jetzt eine Funktion, die die return-Anweisung verwendet. In diesem Programm definieren wir eine Funktion mit zwei Zahlen und geben die Summe dieser Zahlen zurück. Geben Sie die Shell ein. Geben Sie ein. Können Sie erraten, warum wir diesen Syntaxfehler hatten? Die Antwort ist einfach. Wir haben die Eingabetaste nicht zweimal nach dieser Zeile gedrückt, also haben wir nicht wirklich die Funktionssumme zwei Zahlen definiert. Lassen Sie uns die Funktion erneut ausführen. Ok, jetzt tippt. Natürlich ist das Ergebnis 11. Ich hoffe, dass wir einen Einblick bekommen, wie wir unsere Funktionen definieren können. Danke fürs Zuschauen.
96. Mehr More Funktionen: Willkommen zurück alle. In dieser Lektion werden wir uns
fünf integrierte Funktionen ansehen , die häufig von Python Programmierern verwendet werden. Ich werde beschreiben, was sie tun und wie sie zu verwenden sind, und zeigen Ihnen dann Beispiele, wie sie in Ihren Programmen helfen können. Die ABS-Funktion gibt den absoluten Wert einer Zahl zurück
, der den Wert einer Zahl ohne ihr Vorzeichen darstellt. Zum Beispiel ist der absolute Wert von zehn
zehn und der absolute Wert von negativen zehn zehn ist zehn. Um die ABS-Funktion zu verwenden, rufen Sie sie
einfach mit den Zahlen oder Variablen als Parameter wie folgt auf. Sie können die ABS-Funktion verwenden, um etwas wie berechnen eine absolute Menge an Bewegungen eines Charakters in einem Spiel, unabhängig davon, in welche Richtung, dass der Charakter des Reisens. Zum Beispiel, der Charakter nimmt drei Schritte nach rechts, positive drei, und dann zehn Schritte nach links, negative zehn oder minus zehn. Wenn uns die Richtung positiv oder negativ nicht wichtig wäre, wäre
der absolute Wert dieser Zahlen 310. Sie können dies in einem Brettspiel verwenden, bei dem Sie zwei Würfel
rollen und dann Ihren Charakter oder die
maximale Anzahl von Stempeln in eine beliebige Richtung bewegen , basierend auf der Summe der Würfel. Wenn wir nun die Anzahl der Schritte in einer Variablen speichern, können
wir feststellen, ob sich das Zeichen mit dem folgenden Code bewegt. Möglicherweise möchten wir einige Informationen anzeigen, wenn der Charakter so gestaltet ist, dass er sich bewegt. In diesem Fall werden wir nur zeigen Zeichen bewegt sich. Wenn wir die if-Anweisung nicht verwendet haben, könnte so aussehen. Wie Sie sehen können, macht die Verwendung von ABS die Aussage nur etwas kürzer und leichter zu verstehen. Der Name Bool ist die Abkürzung für Boolean. Das Wort Programmierer verwenden, um eine Art von Daten zu beschreiben , die einen oder zwei mögliche Werte haben können, in der Regel entweder wahr oder falsch. Die bool-Funktion macht einen einzelnen Parameter und gibt entweder true oder false basierend auf seinem Wert zurück. Wenn bool für Zahlen verwendet wird, gibt
0 false zurück, während jede andere Zahl true zurückgibt. Hier erfahren Sie, wie Sie bool mit verschiedenen Zahlen verwenden können. Wenn Sie bool für andere Werte wie Strings verwenden, wird false zurückgegeben, wenn kein Wert für die Zeichenfolge vorhanden ist, also das Schlüsselwort none oder eine leere Zeichenfolge. Andernfalls wird es true zurückgeben, wie hier gezeigt. Die bool-Funktion gibt auch false für Listen, Tupel
und Maps zurück, die keine Werte enthalten, sind wahr, wenn sie dies tun. Sie können bool verwenden, wenn Sie entscheiden, ob ein Wert zentriert wurde. Wenn wir zum Beispiel Leute, die unser Programm benutzen, bitten, das Geburtsjahr einzugeben, könnte
unsere if-Anweisung bool verwenden, um den Wert zu testen, den sie eingeben. der ersten Zeile dieses Beispiels werden Eingaben verwendet, um zu speichern, wenn eine
andere Person auf der Tastatur das variable Jahr eingibt. Durch Drücken der Eingabetaste
in der nächsten Zeile, ohne etwas anderes einzugeben, wird der Wert der Eingabetaste und der Variablen gespeichert. In der folgenden Zeile überprüft die if-Anweisung den booleschen Wert der Variablen nach der Verwendung der rstrip-Funktion, die Leerzeichen in Andrew-Zeichen vom Ende der Zeichenfolge entfernt. Weil der Benutzer nichts eingegeben hat. In diesem Beispiel gibt die Funktion bool
false zurück, da diese if-Anweisung das Schlüsselwort not verwendet. Es ist eine Art zu sagen, tun Sie dies, wenn die Funktion nicht wahr zurückgibt. Und so druckt der Code, müssen
Sie einen Wert für das Jahr Ihrer Geburt eingeben. In der nächsten Zeile. Die eval Funktion, kurz für evaluation, nimmt eine Zeichenfolge als Parameter und führt sie durch, als wäre es ein Python Ausdruck. Zum Beispiel wird Eval Print, Wow, tatsächlich den Anweisungsdruck ausführen. Nun, die eval Funktion funktioniert nur mit einfachen Ausdrücken wie den folgenden. Und die eval Funktion wird oft verwendet, um Benutzereingaben in Python Ausdrücke zu verwandeln. Zum Beispiel können Sie ein einfaches Rechnerprogramm schreiben, das
Gleichungen liest, die in Python eingegeben wurden, und dann berechnen Schrägstrich wertet die Antworten aus. Da eine Benutzereingabe als Zeichenfolge gelesen wird, muss
Python sie in Zahlen und Operatoren konvertieren, bevor sie Berechnungen durchführen. Die eval Funktion macht diese Konvertierung erleichtert. In diesem Beispiel verwenden wir Eingaben, um zu lesen, was der
Benutzer in Ihre Variable eingibt, Ihre Unterstrichberechnung. In der nächsten Zeile geben wir den Ausdruck fünfmal 20 ein, vielleicht Ihr Alter multipliziert mit der Anzahl der Wochen in einem Jahr. Wir verwenden E-Mail, um diese Berechnung auszuführen, und das Ergebnis wird in der endgültigen Zeile gedruckt. Die genaue Funktion ist wie das Böse, außer dass Sie sie verwenden können, um kompliziertere Programme auszuführen. Der Unterschied zwischen den beiden besteht darin, dass E-Mail einen Wert zurückgibt,
etwas, das Sie als Variable speichern können, wo genau wie nicht. Hier ist ein Beispiel. In den ersten beiden Zeilen erstellen wir eine Variable mit einer mehrzeiligen Zeichenfolge, die zwei Druckanweisungen enthält, und verwenden dann Executor für die Zeichenfolge. Sie könnten exakt verwenden, viele
Programme in Ihrem Python Programm liest aus Dateien, wirklich Programme innerhalb von Programmen. Dies kann sehr nützlich sein, wenn lange komplizierte Anwendungen geschrieben werden. Zum Beispiel könnten Sie ein Roboterspiel erstellen. Wir sind zwei Roboter bewegen sich um einen Bildschirm und versuchen, einander anzugreifen. Spieler des Spiels würden die Anweisungen für ihre Roboter zur Verfügung stellen. Wie viele Python Programme würden die Roboter gewinnen in diesen Skripten lesen und exakte Ausführung verwenden. Die Bereichsfunktion, wie wir bereits gesehen haben, wird hauptsächlich in for-Schleifen verwendet, um einen Codeabschnitt eine bestimmte Anzahl von Malen zu durchlaufen die die ersten beiden Parameter gegeben sind, um den Start und den Stopp anzuordnen oder zu nennen. Sie haben den Bereich dieser beiden Parameter im früheren Beispiel mit
der Funktion len gesehen , um mit einer Schleife zu arbeiten. Die generierten Zahlen beginnen mit der Zahl,
die als Purse-Parameter angegeben wird , und N mit einer Zahl, die um eins kleiner als der zweite Parameter ist. Im Folgenden wird beispielsweise gezeigt, was passiert, wenn wir die Zahlen
drucken, die zwischen 05 erzeugt werden. Die Bereichsfunktion gibt tatsächlich ein spezielles Objekt genannt einen Iterator, der eine Aktion mehrmals wiederholt. In diesem Fall gibt es bei jedem Aufruf die nächsthöhere Zahl zurück. Sie können den Iterator in eine Liste mit Hilfe der Funktionsliste konvertieren. Wenn Sie dann den Rückgabewert beim Aufrufen von Bereich drucken, sehen
Sie auch die darin enthaltenen Zahlen. Sie können auch einen dritten Parameter zum Bereich hinzufügen, der Schritt genannt wird. Wenn der Schrittwert nicht enthalten ist, wird standardmäßig
die Nummer eins als Schritt verwendet. Aber was passiert, wenn wir die Nummer zwei als Schritt übergeben? Hier ist das Ergebnis.
97. Globale und lokale Scopes: Der Umfang ist etwas, das beim Starten der Programmierung zunächst schwer zu
verstehen ist und Globals, Einheimische und Vars ermöglichen es Ihnen, den Umfang ein wenig besser zu verstehen. Dies wird am besten im Rahmen eines Programms demonstriert. Also hier können Sie ein Programm sehen, mit einem gleich
eins gleich der Zeichenfolge global und c ist gleich der Zeichenfolge ein anderes global. Aber wie Sie innerhalb einer Funktion wissen, können
dieselben Variablennamen mit
verschiedenen Werten neu definiert werden und sie beziehen sich nicht auf dieselbe tatsächliche Variable. Also hier eine Funktion definieren, bei der a auf zwei gesetzt wird, wird
b auf diese Zeichenfolge lokal gesetzt. Und dann werden diese beiden Werte ausgedruckt. der Zwischenzeit werden
wir im Rahmen unseres Main die Werte von a und B. ausdrucken dann rufen Sie
die Funktion auf, die diese Werte ausdruckt und lokale Werte von ihnen finden muss. Und dann werden wir ein und B erneut drucken, um zu sehen, ob sie dauerhaft verändert wurden oder nicht, während sie in Funktion sind. Lassen Sie uns sehen, dass das Programm läuft. Sie können hier sehen, die im globalen Bereich waren. Also, das ist diese Zeile hier. Und dort haben wir die lokalen Versionen von a und b ausgedruckt. Wenn wir dann wieder im globalen Bereich sind, sind
a und B zurück mit Werten, die wir dort erwarten würden. Jetzt ist es manchmal schwierig zu wissen, welche Variablen in einem bestimmten Bereich
definiert wurden oder für Sie verfügbar sind. Dieses Beispiel ist ein ziemlich einfaches Programm, aber zu verstehen, was los ist, ist ein komplizierteres Programm und das kann schwieriger sein. Eine Funktion, die besonders nützlich ist, ist vars. Wenn wir drucken vars, Es wird zeigen, welche Variablen in diesem Bereich verfügbar sind, und es wird sie in Form eines Wörterbuchs ausdrucken. Das Programm wird ausgeführt. Sie können sehen, dass wir vars ausgedruckt haben, die verfügbaren Variablen in diesem lokalen Bereich, R, a ist gleich zwei und b ist gleich Local, was ausgedruckt wurde. Wenn wir jedoch diesen Code von dieser Zeile nehmen, so genau das Gleiche. Vars drucken. Wenn wir das hier setzen, nachdem wir wieder im globalen Bereich sind, werden
Sie sehen, dass mehr Werte verfügbar sind. Also hier haben wir diese viel größeren Wörterbuchwerte. Aber das Wichtigste ist für uns an diesem Punkt,
ist, dass a gleich eins ist, B gleich global, und C hat einen Wert von einem anderen globalen. Je nachdem, in welchem Bereich wir uns befinden, stehen verschiedene Werte zur Verfügung. Wie Sie gesehen haben, sind dies die Vars, die im globalen Bereich verfügbar sind. Und anstatt zu drucken,
können vars, mit der Funktion Globals drucken, was uns die globalen Bereichsvariablen an jedem Punkt gibt. Hier können Sie sehen, dass es die gleiche Ausgabe gibt, weil die Vars die globalen Vars sind, wenn sie im globalen Bereich gedruckt werden. Ich denke jedoch, dass dies das Wasser leicht schlammig machen könnte, weil es eine andere Funktion ist. Es veranschaulicht nicht den Unterschied in den Variablen, die in der Funktion verfügbar sind. Und der globale Bereich ist derselbe, weil Sie
Globals innerhalb der Funktion ausdrucken könnten . Also, wenn das ausgedruckt wird, während innerhalb der Funktion. Wenn wir also Globals verschieben, die innerhalb der Funktion gedruckt werden sollen, können
Sie sehen, dass dies die lokalen Variablen sind und dies die globalen Variablen sind. Wenn dies ausgedruckt ist, können
Sie es genau zur gleichen Zeit sehen. Der globale Wert von a ist eins und b global, während a 2x und B lokal ist. Das kann also ein bisschen verwirrend werden. Aber es ist sicherlich wirklich nützlich, Vars ausdrucken zu können, weil Sie
verstehen können , welche Variablen Ihnen an diesem Punkt in diesem Bereich zur Verfügung stehen. Und wenn Sie sich nicht sicher sind, in welchem Funktionsumfang ausgeführt wird, können
Sie Vars verwenden, um zu verstehen, was vor sich geht. Aber es gibt etwas anderes, das auch das Wasser leicht verstümmelt, was ist, wenn wir darauf hinweisen, Siehe, es ist nicht innerhalb dieser Funktion definiert. Wenn wir es also nicht im lokalen Bereich finden können, wird
es dann den Wert davon aus dem globalen Bereich sehen. Wenn wir das ausführen, können
Sie sehen, dass trotz der Tatsache, dass es nicht im lokalen Bereich definiert ist, aus dem globalen Bereich aus Zeile 3 zugänglich ist, da es nicht innerhalb dieser Funktion definiert ist. Das ist etwas, was Sie brauchen, um ein bisschen Zeit damit zu verbringen, den Kopf herum zu bekommen. Aber sobald Sie es verstehen, wird
es Ihnen helfen, zu verstehen, was im Allgemeinen vor sich geht. Aber es ist einfach, sich in Knoten zu erklären, hauptsächlich wenn Sie innerhalb einer Funktion dieselben Variablennamen verwenden wie außerhalb einer Funktion. Das lokale a unterscheidet sich also von der globalen ei, weshalb verwirrend werden kann. Und es ist eine gute Idee,
Ihre lokalen Variablen nicht mit dem gleichen Namen wie eine globale Variable zu benennen.
98. PROJEKT Spiel (Version 2) – TEIL 1: In Ordnung, lassen Sie uns darüber reden, wie Sie Ihr Ratespiel-Projekt verbessern können. Wir haben über Funktionen gelernt, so dass wir bereit sind, sie in diesem Projekt anzuwenden, können
Sie dieses Wissen nehmen und
Ihr Projekt und Ratespiel konvertieren , so dass es Funktionen verwendet. Der erste Schritt besteht darin, ein Modul hinzuzufügen, das nicht am Anfang
der Datei verkleinert , um zu erklären, was das Programm tut, wir können dreifache, doppelte Anführungszeichen am Anfang und Ende des docstring verwenden. Jetzt sind wir bereit, es zu aktualisieren und eine Funktion zu nutzen. Lassen Sie uns die Funktion benennen, wie es erraten wird. Wir werden eine Funktion Stub für do erraten Runde erstellen. Nun, was ist die Stubfunktion? Wenn Sie wissen, dass Sie eine Funktion benötigen, aber über die Details nicht sicher sind. Sie können das Pass-Schlüsselwort verwenden und den Codeblock später ausfüllen lassen. Eine leere Funktion wie diese, ein Stub können Sie die Funktion definieren. Es wird fehlschlagen, wenn es keinen Code-Blog gibt, aber wir werden die Details später erarbeiten. Es ist vor allem ein Platzhalter, um Ihnen zu helfen, Ihre Gedanken zu organisieren. Wenn Sie den Docstring einschließen, benötigen Sie keine Pfadanweisung. Es wurde wahrscheinlich überprüft, fügen Sie den Docstring ein, ziehen Sie den Code ein, um ihn Teil des Funktionscodeblocks zu machen. Jetzt können Sie eine Zeile am Ende des Programms hinzufügen, um die Gußrunde Funktion auszuführen. Lassen Sie uns das Programm starten. Offensichtlich gibt es ein Problem. Das Spiel wird nicht neu gestartet. Kannst du herausfinden, warum? Richtig? Wir müssen eine Zeile hinzufügen, die die do guess round Funktion innerhalb der Schleife aufruft. Versuchen wir es nochmal. Jetzt wird das Programm neu gestartet. Schau dir an, dass jedes Mal, wenn das Spiel neu gestartet
wird, die Antworten des Computers genau gleich sind. Und so sollte das Spiel nicht laufen. Der Computer sollte für jede Runde eine andere Nummer wählen. Lassen Sie uns den Code mit Kontrolle plus c stoppen, weil die Zahl jedes Mal gleich ist. Es ist wahrscheinlich ein Problem mit der Art und Weise, wie es gespeichert oder ausgewählt wird. Denken Sie darüber nach, wie der Pfad von Python ihm folgt, wenn er durch
diesen Code fließt und wo die Zahlenwahl in Bezug auf diesen Fluss stattfindet. Ich habe versucht, herauszufinden, warum. Lassen Sie uns nun dieses Logikproblem lösen. Das Programm erraten immer die gleiche Zahl wegen eines Problems mit dem zufälligen Rand INT-Funktionsstandort. Das Programm durchläuft diese Schritte, wenn Sie das Programm ausführen, einer führt den Import aus, zwei wählt eine Zufallszahl, drei weist einen Wert zu einer Eingabeaufforderung für definiert eine Funktion, führt sie
aber noch nicht aus. Fünf beginnt eine Schleife. Sechs ruft die Funktion wiederholt von innerhalb der Schleife auf, ohne eine Zufallszahl zu wählen. Wenn es die Funktion aufruft, wird
die Zufallszahl nicht wieder gewählt, die gleichen Zahlen werden jedes Mal ausgewählt. Sie können es beheben, indem Sie den Code eingeben die Nummer innerhalb der Funktion
auswählen. Sie können die Runde generieren, indem Sie
Druckanweisungen hinzufügen , um zu klären, wann eine neue Runde begonnen hat. Sie tun dies, indem Sie den Code der Druckanweisungen in eine while-Schleife setzen. Löschen Sie außerdem die Dugas-Rundfunktion aus der Schleife. Das Hinzufügen einer neuen Zeile, die Auswahl einer Zufallszahl innerhalb der Funktion löst ein Logikproblem. Wenn das alles ist, was Sie tun werden, löschen
Sie den ersten Verweis auf Computer Unterstrich Nummer. Du löschst es nicht, weil ich will, dass du zwei Dinge bemerkst. Erstens scheint das Programm zu funktionieren, als ob es zwei Variablen namens Computernummer gibt. Zweitens, obwohl die neuen Werte weiterhin einer Variablen namens Computernummer innerhalb der Funktion
zugewiesen werden. Diese Zuweisungen ändern den Wert außerhalb der Funktion nicht. Führen Sie das Programm aus. Jetzt, um es zu sehen. Es funktioniert gut. Stoppen Sie den Code mit Steuerelement plus C. Hier ist ein ausgezeichnetes Beispiel für einen variablen Bereich, den wir in einer vorherigen Lektion im früheren Code
besprochen haben . Und der Name Computer-Nummer wird mehr als einmal verwendet. Es gibt eine innerhalb der Funktion, die Runde erraten und eine in main definiert. Aber nie werden sich die beiden treffen. Es ist, als wären sie in verschiedenen Dimensionen. Was mit einer in einer Dimension passiert, passiert nicht mit der anderen. In der Tat wird jedes Mal, wenn die Funktion erraten Runde aufgerufen. Die Variable ist eine andere Variable, aber sie hat den gleichen Namen. Das Programm erinnert sich nicht an den Wert, den es letzten Stand hatte, wurde
die Funktion Variablen genannt, die innerhalb einer Funktion
definieren lokale Variablen genannt werden. Das bedeutet, dass Sie sich bei der Auswahl des Namens einer Variablen innerhalb Ihrer Funktion nicht an die Namen aller anderen Variablen erinnern müssen, die Sie jemals verwendet haben. Teil 1 des Ratespiels ist beendet. Studieren Sie noch einmal, was Sie bisher getan haben, und wenn Sie bereit sind, gehen wir zu Teil zwei. Danke fürs Zuschauen.
99. PROJEKT Spiel (Version 2) - TEIL 2: Jetzt ist es an der Zeit, Ihr Spiel ein wenig durch Hinzufügen einer Punktzahl und eine einfachere Möglichkeit zu beenden, Sie können nicht erwarten, dass Ihr Benutzer über Kontrolle plus C wissen, das Programm wird geändert. Diese Art von verfolgt also die Anzahl der Runden, die der Benutzer gespielt hat, und die Gesamtzahl der Vermutungen, aus denen
die durchschnittliche Anzahl der Vermutungen berechnet werden kann. Für Tracking-Runden besteht der erste Schritt darin, dem Hauptprogramm
eine Variable namens Gesamtrunden hinzuzufügen . Dann müssen Sie Erhöhung um eine Gesamtrunde in den Hauptteilen währen-Schleife erhöhen. Für die Verfolgung von Vermutungen besteht der erste Schritt darin, eine Variable hinzuzufügen, die Gesamtzahl der Vermutungen genannt wird. In der Dugas Runde Funktion. Das Programm verfolgt, wie viele Vermutungen während der Funktion gemacht wurden. Name Teil des Programms kann nicht zu den Variablen innerhalb der Funktion gelangen. Sie sind für diese Funktion lokal. Wir werden diese variable Anzahl von Vermutungen nennen , um den Wert zurück zum Hauptteil des Programms zu erhalten. Sie werden durch das return-Schlüsselwort zurückgegeben und in einer Variablen namens diese Runde gespeichert. Eine laufende Summe von Vermutungen wird begrenzt, indem dieser Wert zu den variablen Gesamtunterstrichraten addiert wird. Dies wird dann verwendet, um die durchschnittliche Anzahl der Vermutungen pro
Runde zu berechnen , die die Gesamtzahl der Vermutungen geteilt durch die Gesamtzahl der Runden ist. Der Flow Build-in wird zum vierten Python verwendet, um Dezimal- und nicht ganzzahlige Arithmetik zu verwenden. Einige der print-Anweisungen in der while-True-Schleife wurden geändert und einige wurden hinzugefügt, um dem Benutzer einige weitere Informationen über die Runde zu geben. Führen Sie das Programm aus, um zu sehen, dass es funktioniert. Cool. Beenden Sie nun das Programm und kehren Sie zum Editor zurück. Das ist das Ende von Teil zwei. Bitte üben Sie, was Sie gelernt haben, und fahren Sie dann dem letzten Teil unseres Python Ratespiels fort.
100. PROJEKT Improved Spiel 3 (Version 2) – TEIL 3: Willkommen zurück alle. Im letzten Teil des Projekts werden
wir uns eine Lösung vorstellen, wenn ein Benutzer das Programm beenden kann, indem
er den Buchstaben Q eingibt. Benutzer möchten normalerweise nicht etwas beenden, indem sie versehentlich etwas eingeben. Anstatt sofort zu beenden, fordert
eine Routine den Benutzer auf, das Beenden zu bestätigen. Die Standardantwort lautet „Ja“. Zuerst erstellen wir die Funktion, um das Beenden zu bestätigen. Lassen Sie uns sehen, die Schritte eins nach 11 erstellen Sie eine Konstante bestätigen ausgestattete Nachricht als Aufforderung zu verwenden, um die Beenden
zu bestätigen, um eine Funktion namens bestätigen beenden und dann bestätigen Beenden Funktion, bitten Sie den Benutzer zu bestätigen, indem Sie eingeben, warum Eingabe verwenden, die Spieler fragen nach Eingabe und die Antwort wird in einer Variablen namens confirm gespeichert. Bestätigen Sie mit dem eingegebenen Benutzer ist n, dann gibt die Bestätigungsfunktion false zurück. Das bedeutet, dass das Programm den Krieg abbrechen sollte. Bestätigen Sie alles andere, einschließlich der Benutzer, die die Eingabetaste drücken ,
ohne eine andere Taste oder sogar eine Großbuchstabe N zu drücken, dann wird die Funktion true zurückgeben und
bestätigt, dass der Benutzer beenden möchte. Die Funktion bestätigt standardmäßig das Beenden, anstatt es abzubrechen. Dies setzt voraus, dass der Benutzer das Spiel in den meisten Fällen wirklich beenden möchte. Jetzt werden wir weiterhin einen konstanten Unterstrich-Text definieren, um den Buchstaben Q zu halten, was der Benutzer drücken sollte, wenn er beenden möchte. Sie können sie
eine Vermutungsrunde Rückgabenummer machen , die nie eine gültige Anzahl von Vermutungen sein wird. Etwas wie minus1 ist ideal, da die Anzahl der Vermutungen niemals negativ sein kann. Sie könnten auch eine Zahl wie 100 Tausend unter
der Annahme wählen , dass niemand jemals so viele Vermutungen machen wird. Meine Präferenz ist minus1. Definieren Sie dann eine Konstante beenden Programm, die Sie tun raten Runde Funktion wird zurückgegeben, wenn der Benutzer beendet wird, zugewiesen den Wert von minus eins zu beenden. Azure neue Konstanten nach dem Import zufällig in der do guess round Funktion bei einer Überprüfung zu sehen, ob der Benutzer q statt einer Zahl eingegeben hat. Wenn sie die Bestätigungsfunktion aufgerufen haben, um zu bestätigen. Wenn der Aufruf zur Bestätigung quit den Wert true zurückgibt, dann beenden Sie. Machen Sie den Codeblock Rückgabe Programm beenden. Dies verlässt die Funktion und gibt den Wert von minus eins zurück. Wenn nicht, machen Sie den Codeblock weiter machen Sie ihn zur einzigen Zeile im Codeblock. Das Schlüsselwort continue macht einen Neustart der Schleife am oberen Rand des Codeblocks der Schleife, abhängig von der Art der Schleife,
dies kann auch bedeuten, dass der Schleifenzähler inkrementiert wird. Ihr neuer Code sollte nach der Eingabezeile gehen. Jedes Mal, wenn ein Spieler erraten, wird
die Vermutung verglichen, um zu sehen, ob es die gleiche ist wie es Unterstrich Text beenden. Das ist q. Wenn ja, dann wird der Spieler aufgefordert, durch Aufruf der Bestätigungsfunktion zu bestätigen. Wenn es bestätigt wird, dann erraten Sie runden Ausgang geben den Wert von minus eins zurück
, der im Konsonanten der Quit Message gespeichert ist. Es ist nicht der Benutzer, der Q versehentlich eingegeben hat, fährt fort, überspringt den Rest der aktuellen Iteration der Schleife und startet eine neue Iteration neu. Da der Spieler in einer Zahl vermutet, ist
es Q, Sie würden einen Fehler bekommen. Aus diesem Grund muss der Rest der Schleife übersprungen werden. Das letzte, was zu tun ist, ist zurück in main,
überprüfen Sie, ob das Wert beenden Programm in dieser Runde an die Variable zurückgekehrt ist. Wenn dieser Grund ist, generieren Sie eine Stance-Nachricht zu drucken, weil der Code diese Runde
inkrementiert, weil er erwartet, dass der Spieler richtig erraten wird. Es muss dekrementiert werden, wenn der Programmcode beendet wird. Bevor Sie die Spieler-Haltung
berechnen, berechnen Sie die durchschnittliche Anzahl der Vermutungen pro Runde. Die Gesamtraten dividiert durch die Gesamtzahl der Runden. Um aus der while-Schleife auszubrechen. Sie am Ende des Programms DruckenSie am Ende des Programmsdie Statusmeldung für hinzufügen einige Druckanweisungen am Ende, um die Statistik auszudrucken. Insgesamt im Hauptteil des Programms. Jedes Mal, wenn Python die Dugas round Funktion zurückgibt, sieht
es, ob equip Programmwert zurückgegeben wurde. Wenn dies der Fall ist, bereitet das Programm einige Nachrichten vor, die
am Ausgang gedruckt werden und druckt aus der Haupt-while-Schleife aus. Nachdem die Nachrichten gedruckt wurden, wird
das Ende der Datei in der Programmende erreicht. Ich werfe jetzt einen kurzen Blick auf das Programm werfen. Es ist also Zeit, das endgültige Programm auszuführen. Lass uns drei Runden spielen. Ich habe die Gesamtrunde vergessen. Lasst uns anklicken. Lauf noch mal. Und es funktioniert großartig. Jetzt möchte ich Ihnen zwei Herausforderungen stellen, und ich möchte, dass Sie versuchen, die Antworten zu finden. Aber zuerst müssen Sie sich die Lektionen ansehen und den Abschnitt studieren, der sich mit Fehlern befasst. Lassen Sie uns das Programm erneut ausführen und ohne Vermutungen
drücken Sie die q, um zu beenden, bestätigen Sie mit ja. Und sieh dir die Runden an. Die Gesamtrunden sind 0. Sie können natürlich nicht mit 0 teilen. Die zweite Herausforderung ist die folgende. Führen Sie das Programm erneut und statt einer Zahl, drücken Sie einen Buchstaben ist eine Ratenzahl auf einer Eingabe, wir haben einen Wertefehler, weil das Programm akzeptiert nur ganze Zahlen. Sie werden beide Lösungen für die Herausforderungen finden, wenn Sie
die Lektionen der Sektion Umgang mit Fehlern wollen . Wow, du hast viel getan. Bitte machen Sie Ihre Hausaufgaben,
versuchen Sie, das Projekt selbst zu lösen. Dann erlernen Sie Fähigkeiten und lernen neue Bereiche von Python, die Sie vorher nicht kannten. Und es kann Ihnen viel Selbstvertrauen geben und in der Lage sein schwierigere Probleme weiter unten
anzugehen. Wenn Sie Fragen haben, ich Ihnen gerne weiter. Danke fürs Zuschauen.
101. Umgang mit Fehlern: Der meiste Anwendungscode beliebiger Komplexität hat Fehler darin. Menschen schreiben Anwendungen in Menschen machen Fehler. können jedoch Fehler auftreten, die Ihnen keine Benachrichtigung geben. In diesem Abschnitt erfahren Sie über verschiedene Arten von Fehlern und was Sie tun müssen, wenn Ihre Anwendung sie trifft. Die meisten Entwickler nennen Anwendungsfehlerausnahmen,
was bedeutet, dass sie die Ausnahme von der Regel sind. Da Ausnahmen duale aktuelle Anwendungen, müssen
Sie erkennen und etwas gegen sie tun, wann immer möglich. Der Akt des Sehens und der Verarbeitung und der Ausnahme wird als Fehlerbehandlung oder Ausnahmebehandlung bezeichnet. Um Fehler richtig zu erkennen, müssen
Sie über Fehlerquellen in y Fehler in erster Linie wissen. Wenn Sie den Fehler bemerken, müssen
Sie ihn verarbeiten, indem Sie die Ausnahme abfangen. Eine Ausnahme zu sehen bedeutet, sie zu untersuchen und möglicherweise etwas dagegen zu tun. Manchmal ruft man es auf, erkennt einen Fehler in der Anwendung. Wenn dies geschieht, müssen Sie eine Ausnahme auslösen oder auslösen. Sie sehen, dass beide Begriffe für dasselbe verwendet wurden,
was einfach bedeutet, dass Ihr Code auf einen Fehler gestoßen ist, den er nicht verarbeiten konnte. Also übergeben Sie die Fehlerinformationen auf ihn in ein anderes Stück Code zu verwalten. In einigen Fällen können Sie benutzerdefinierte Fehlermeldungsobjekte verwenden, um die Informationen weiterzugeben. Obwohl Python eine Fülle von generischen Nachrichten auf Objekten hat, die die meisten Situationen abdecken, einige Situationen oder spezielle. Sie müssen wissen, wie Sie Ausnahmen lokal behandeln. Senden Sie sie an den Code, der Ihren Code aufgerufen hat. Wann erstellen Sie eine spezielle Ausnahme, so dass jeder Teil der Anwendung weiß, wie die Befreiung zu behandeln. Python stellt die letzte Klausel bereit, die immer ausgeführt wird, auch wenn eine Ausnahme auftritt. Sie können Code platzieren, um Dateien zu schließen oder
andere zentrale Aufgaben in dem Codeblock auszuführen , der dieser Klausel zugeordnet ist. Wenn ein Fehler auftritt, sagen die
Leute häufig, dass eine Anwendung einen Fehler darin hat. Fehler sind einfach Codierungsfehler, die Sie mit einem Debugger entfernen können. Ein Debugger ist eine spezielle Art von Tool, mit dem Sie die Anwendungsausführung stoppen oder anhalten, den Inhalt von Variablen und in der
Regel die Anwendung
untersuchen können, um zu sehen, was es ankreuzt. Fehler fallen in klar definierte Kategorien, die Ihnen helfen, bis zu gewissen Grad
vorherzusagen, wann das Ende, wo sie auftreten werden. Die beiden Haupttypen sind Pfeile, die zu
einem bestimmten Zeitpunkt auftreten , und Fehler, die ein bestimmter Typ sind. Pfeile werden zu einem bestimmten Zeitpunkt vorkommen. Die beiden wichtigsten Zeitrahmen sind Kompilierzeit und Laufzeit. Ein Kompilierungsfehler tritt auf, wenn Sie Python auffordern, die Anwendung auszuführen. Bevor Python die Anwendung ausführen kann, muss
sie den Code in interpretieren in ein Formular einfügen, das der Computer verstehen kann. Wenn die Anweisungen, die Sie schreiben, fehlen benötigte Informationen. Python kann die erforderliche Konvertierung nicht durchführen. Glücklicherweise sind Kompilierungszeitfehler am einfachsten zu erkennen und zu beheben. Laufzeit. Ein Laufzeitfehler tritt auf, nachdem der Python
den Code kompiliert hat, den Sie schreiben und ein Computer mit der Ausführung beginnt. Laufzeitfehler kommen in verschiedenen Typen und einige sind schwieriger zu finden als andere. Sie wissen, dass Sie einen Laufzeitfehler haben, wenn die Anwendung
plötzlich nicht mehr läuft und einen Ausnahmedialog anzeigt. Das Verständnis der Fehlertypen hilft Ihnen, Fehler schneller,
früher und konsistenter zu finden , was zu weniger Fehldiagnosen führt. Der Trick besteht darin, zu wissen, wo man mit diesem Blick schauen soll, Python in den meisten anderen Programmiersprachen bricht Fehler in die folgenden Typen auf. Syntaktisch, semantisch und logisch. Syntaktische Fehler, in der Regel die einfachste, ein logischer Fehler ist in der Regel der schwierigste. In den folgenden Vorträgen werden wir jede dieser Fehlertypen im Detail untersuchen. Danke fürs Zuschauen.
102. Häufige Syntax: Wenn Sie zum ersten Mal auf einen Syntaxfehler stoßen, ist
es hilfreich zu wissen, warum ein Problem aufgetreten ist und was Sie tun können, um das Ungleichgewicht in Ihrem Python Code intakt zu beheben. In dieser Lektion sehen Sie einige
der häufigsten Gründe, warum Syntaxfehler auftreten können. Ob dies auf einen Tippfehler oder ein Missverständnis der Python -Syntax zurückzuführen ist. Und vor allem, wie Sie sie reparieren und vermeiden können, ganz in der Zukunft. Es gibt mehrere Fälle in Python, in denen Sie keine Zuweisungen zu Objekten vornehmen können. Einige Beispiele sind die Zuweisung von zwei Literalen und Funktionsaufrufen im folgenden Code, Sie werden ein paar Beispiele sehen, die versuchen,
dies zu tun und die resultierenden Syntaxfehler-Trackbacks. Also hier werden wir versuchen und fünf auf die Länge von hallo zuweisen. Nun, wie Sie sehen können, hat
das einen Syntaxfehler erzeugt, der besagt, dass es einer Funktionsgall nicht zuweisen kann. Hier ist ein weiteres Beispiel. Literal kann nicht zugewiesen werden. Das Beispiel hier beide versuchen, dasselbe zu tun, indem sie Literalen einer Zeichenfolge oder einer Ganzzahl zuweisen. Die gleiche Regel gilt für andere Literalwerte. Auch hier zeigen die Traceback-Meldungen an, dass das Problem auftritt, wenn Sie versuchen, einem Literal einen Wert zuzuweisen. Eine Sache, die hier zu beachten ist, ist, dass die Beispiele in der Shell
die wiederholte Codezeile und die Karotte fehlen , die auf das Problem und die Spur zurück zeigt. Die Ausnahmen und Trackbacks, die Sie in der
flachen oder anders sehen , als wenn Sie den Code aus einer Datei ausführen. Wenn dies der Code war, sind Sie in einer Datei, Sie erhalten die wiederholte Codezeile und kümmern sich darum, auf das Problem zu zeigen, wie Sie zuvor gesehen haben. Diese Art von Missbrauch des Zuweisungsoperators ist also die Art von Sache. Sicherlich kann ich sagen, dass ich mehr tue, als ich nicht zugeben sollte. Es wurde oft getan, weil ich
das zusätzliche Gleichheitszeichen vergessen habe, wenn ich versuche, einen Vergleich durchzuführen. Wenn man also dieses erste Beispiel korrigiert,
tut das, was ich eigentlich wollte, was zu überprüfen war, dass die Länge von hallo gleich fünf ist. Und Sie können sehen, dass es den Wert true zurückgibt. Die meisten Downwind Python sagt Ihnen, dass Sie
eine Zuweisung zu etwas machen , dem nicht zugewiesen werden kann. Dies ist die Sache, zuerst zu überprüfen, dass Sie tatsächlich einen Vergleich machen sollten. Python-Schlüsselwörter oder eine Reihe von geschützten Wörtern, die in Python eine besondere Bedeutung haben. Dies sind die Wörter, die nicht als Bezeichner, Variablen oder Funktionsnamen in Ihrem Code verwendet werden können. Sie sind Teil der Sprache und kann nur im Kontext von Python verwendet werden ermöglicht, Es gibt drei gängige Möglichkeiten, die Sie versehentlich verwendet Schlüsselwörter, falsch Rechtschreibung eines Schlüsselworts, fehlt ein Schlüsselwort, oder missbraucht ein Schlüsselwort. Wenn Sie ein Schlüsselwort in Ihrem Python Code falsch schreiben, erhalten Sie
wahrscheinlich einen Syntaxfehler. Hier ist beispielsweise, was passiert, wenn Sie das Schlüsselwort falsch verschütten. Die Nachricht liest Syntaxfehler, ungültige Syntax, aber das ist nicht sehr hilfreich. Das Traceback verweist auf den ersten Platz, an dem Python erkennen konnte, dass etwas falsch war. Um diese Art von Fehler zu beheben, stellen Sie sicher, dass alle Ihre Python Schlüsselwörter korrekt geschrieben sind. Ein weiteres häufiges Problem mit Schlüsselwörtern ist, wenn Sie sie alle zusammen vermissen. Wieder einmal ist die Ausnahmemeldung nicht so hilfreich, aber das Traceback versucht, Sie in die richtige Richtung zu zeigen. Wenn Sie von der Karotte zurückgehen, können Sie sehen, dass im Schlüsselwort in der for-Schleife Syntax fehlt. Sie können auch ein geschütztes Python Schlüsselwort missbrauchen. Denken Sie daran, dass die Schlüsselwörter nur in bestimmten Situationen verwendet werden dürfen. Wenn Sie sie falsch verwenden, haben
Sie eine ungültige Syntax in Ihrem Python Code. Ein gängiges Beispiel dafür ist die Verwendung von continue oder break außerhalb einer Schleife. Dies könnte während der Entwicklung leicht passieren, wenn Sie
Dinge implementieren und die Logik außerhalb einer Schleife verschieben. Hier macht Python einen guten Job, Ihnen genau zu sagen, was in diesem Beispiel falsch ist Der Methodenbruch außerhalb der Schleife hilft Ihnen, genau herauszufinden, was zu tun ist. Wenn dieser Code in einer Datei in Python wäre, würde
die Karotte es auch direkt auf das missbenutzte Schlüsselwort zeigen. Der Missbrauch von continue folgt einem einfachen Muster Generieren
eines Syntaxfehlers mit einer anderen Nachricht. Ein weiteres Beispiel ist, wenn Sie versuchen, einer Variablen
ein Python Schlüsselwort zuzuweisen oder ein Schlüsselwort zum Definieren einer Funktion zu verwenden. Wenn Sie versuchen, einem Durchlauf einen Wert zuzuweisen, oder wenn Sie versuchen, eine neue Funktion namens pass zu definieren, erhalten
Sie einen Syntaxfehler und sehen die ungültige Syntaxmeldung. Wieder. Es könnte ein wenig schwieriger sein, diese Art von ungültiger Syntax in Python Code zu lösen, da der Code von außen gut aussieht, wenn Sie aufrufen, sieht er gut aus, aber Sie erhalten immer noch einen Syntaxfehler, dann könnten Sie die Variablennamen oder den Funktionsnamen, den Sie die Schlüsselwortliste für die von Ihnen verwendete Version von Python verwenden
möchten, wird
die Liste der geschützten Schlüsselwörter mit jeder neuen Version von Python geändert. In Python 3.6 könnten
Sie beispielsweise eine Gewichtung als Variablenname oder Funktionsname verwenden. Aber als Python 3.7 wurde
dieses Wort zur Keyword-Liste hinzugefügt. Wenn Sie nun eine Gewichtung als Variablen- oder Funktionsname verwenden würden, wird dies zu einem Syntaxfehler führen, wenn Ihr Code auf Python 3.7 oder höher ausgeführt wird. Ein weiteres Beispiel ist dieser Druck, der sich von Python zwei gegenüber Python drei unterscheidet. Print ist ein Schlüsselwort in Python 2x, so dass Sie in Python drei keinen Wert zuweisen können Es ist
jedoch eine integrierte Funktion, der Werte zugewiesen werden können. Sie können den folgenden Code ausführen, um die Liste der
Schlüsselwörter in jeder Version von Python anzuzeigen , die Sie ausführen. Ein Schlüsselwort stellt auch die nützliche ist Schlüsselwort-Funktion zur Verfügung. Wenn Sie eine schnelle Möglichkeit benötigen, um die Pfadvariable zu überprüfen, können Sie den folgenden Code verwenden. Dieser Code zeigt Ihnen schnell an, ob die Kennung, die Sie verwenden, ein Schlüsselwort ist oder nicht. Oft ist die Verwendung einer ungültigen Syntax in Python Code eine falsch gelesene oder nicht übereinstimmende Kleidung, Klammer, Klammer oder Zitat. Diese können sehr lange Zeilen
verschachtelter Klammern oder längerer mehrzeiliger Blöcke schwer zu erkennen sein. Sie können Diskrepanz oder verpasstes Zitat mit Hilfe von Pythons Tracebacks erkennen. Hier sind die Traceback-Punkte auf den ungültigen Code, wo es ein T und ein einzelnes Anführungszeichen nach unserem vorherigen schließenden einfachen Anführungszeichen gibt. Um dies zu beheben, können Sie eine der Änderungen vornehmen. Erstens können Sie das einfache Anführungszeichen mit einem umgekehrten Schrägstrich in dem Beispiel hier sehen. Wir können bereits sehen, dass die Shell diesen Code entsprechend hervorhebt. Es sieht so aus, als ob es OK wird. Python ist auch damit zufrieden. Die zweite Option besteht darin, die gesamte Zeichenfolge stattdessen in doppelte Anführungszeichen zu umgeben, wie im folgenden Beispiel zu sehen, lassen Sie uns das in Aktion sehen. einmal können Sie sehen, dass die Shell dies entsprechend für eine Zeichenfolge hervorhebt. Es scheint also glücklich zu sein mit dem, was wir getan haben. Genau wie Python. Ein weiterer häufiger Fehler besteht darin, zu vergessen,
eine Zeichenfolge mit beiden doppelten Anführungszeichen in einfachen Anführungszeichen zu schließen . Die Situation und Tracebacks werden die gleichen sein. Diesmal zeigt die Karotte in der Spur zurück direkt auf den Problemcode. Diese Syntaxfehlermeldung EOL beim Scannen des
Zeichenfolgenliteral ist ein wenig spezifischer und hilfreich bei der Ermittlung des Problems. Dies bedeutet, dass der Python Interpreter am Ende der Zeile,
dem EOL, gelangt ist, bevor eine offene Zeichenfolge geschlossen wurde. Um dies zu beheben, schließen Sie die Zeichenfolge mit einem Anführungszeichen, das mit dem übereinstimmt, das Sie zum Starten verwenden. In diesen Fällen wäre der erste mit einem doppelten Anführungszeichen, der zweite mit einem einfachen Anführungszeichen. Zitat, das in Anweisungen in einer F-Zeichenfolge fehlt kann auch zu einer ungültigen Syntax in Python führen. Hier fehlt der Verweis auf das Alters-Wörterbuch innerhalb des gedruckten F String das schließende einfache Anführungszeichen aus der Schlüsselreferenz.
103. Sprünge zu werfen Hunter werden: Fehler sind ein integraler Bestandteil der Programmierung. Sobald Sie über das einfachste Programm hinausgegangen sind, das Sie erstellen, werden
Sie zweifellos begegnen. Es kann ein frustrierender Teil der Lernerfahrung sein, aber Sie werden oft feststellen, dass das lohnendste Erlebnis ist, das Lektionen beibringt
, die Sie brauchen, um die Prahlerei kennen zu lernen. Denken Sie daran, niemand erstellt Code ohne Fehler. Der Schlüssel zum Auffinden von Fehlern. Methodisch. Es nützt nichts, nur zufällig zu versuchen, Dinge zu ändern. Es ist besser zu versuchen, in den Kopf zu bekommen, was der Computer zu
tun versucht und zu sehen, ob er wirklich tut, was Sie denken, er tut. Viele waren zu der Zeit, wenn es aussieht, als würde es tun, was ich denke, es ist, aber eigentlich habe ich mir die Details davon angesehen und vielleicht Glück gehabt. Und eigentlich ist es viel weniger als das, was ich ursprünglich geplant hatte. Wir werden uns zwei Möglichkeiten ansehen, die Probleme zu lösen. Erstens, die alte Schule Art und Weise bevorzugt von Guido van Rossum
, der Druckaussagen verwendet. Also, jetzt, da du das in Aktion sehen wirst. Und Sie können auch den Bug entdecken, der darin vorhanden ist. Aber die Idee ist wirklich, ein Programm zu erstellen, das einfach zu
verstehen ist , anstatt einen hysterischen schwer zu findenden Fehler zu erstellen. Keine Sorge, du wirst später viele davon haben, um dich zu kümmern. Sie werden also ein einfaches Zahlenratespiel sehen. Der Computer wird an eine Zahl zwischen 110 denken, dann muss der Benutzer es erraten, und dann wird der Computer dem Benutzer sagen, ob er es richtig gemacht hat oder nicht. Also hier kommt der Code. Ich werde die Zufallsbibliothek importieren, damit wir eine Zufallszahl generieren können. Drucken Sie eine Nachricht für den Benutzer, erstellen Sie die Zufallszahl. Und jetzt lassen wir den Benutzer
seine Gäste eingeben und diese der Gastvariablen zuweisen. Jetzt werden wir überprüfen, ihre Vermutung ist die gleiche wie die Zahl. Und wenn es so ist, werden wir ihnen sagen, dass sie Recht haben. Und wenn dies nicht der Fall ist, werden wir ihnen sagen, dass sie sich geirrt haben. Da gehen wir. Das Programm ist abgeschlossen und jetzt werden Sie es in Aktion sehen. Also werde ich es einfach am Laufen halten, bis der Bug sich uns bekannt macht. Und dort nach dem ersten Mal, manchmal viel öfter, als Sie erwartet hatten. Aber das ist die Natur der Zufälligkeit. Wir sehen unseren Bug, der sagt, Entschuldigung, die Zahl war fünf, nicht fünf. Bis zu diesem Punkt haben Sie vielleicht gedacht, dass Ihr Programm gut funktioniert. Du hättest es jemandem zeigen können und glücklich darüber sein können. Und dann wird jemand sagen, „Hang on a minute“. Es hieß, die Zahl war fünf, nicht fünf. Was ist das Problem da? Was wir also tun müssen, ist
eine Druckaussage zu verwenden , um uns zu helfen, herauszufinden, was das Problem ist. Ich werde hier einen einfügen. Und jetzt müssen wir das Programm erneut ausführen. In diesem Fall wird uns das, was wir gerade ausgedruckt haben, nicht
zu sehr helfen , weil es nicht die Darstellung ist, das ist das Problem. Es ist die eigentliche Information. Schauen wir uns ein wenig tiefer an. Hier. Wir werden uns das etwas tiefer ansehen und ansehen, was die Art der Zahl ist und erraten. Und da sehen wir das Problem. Das Problem ist, dass unsere Nummer nicht leugnen und t ist, weil sie zufällig von einem Punkt Rand INT erstellt wurde. Aber unsere Vermutung ist ein SDR oder eine Zeichenfolge. Und wenn wir STRS oder Ion Ts ausdrucken, sehen
sie identisch mit uns auf dem Bildschirm aus. Sie haben vielleicht bemerkt, dass dies nicht der Fall wäre, wenn Sie diese Art von Arbeit in der Python -Shell
machen. Daher ist es wichtig zu erkennen, dass Druck Ihnen möglicherweise nicht immer
alle Informationen zeigt , die Sie benötigen, um subtile Fehler wie diese zu finden. Aber es kann eine wirklich nützliche und schnelle Methode sein, um herauszufinden, was vor sich geht, wenn ein Programm läuft. Also in diesem Fall, um diesen speziellen Fehler zu beheben, muss
die Eingabe jetzt in einen INT umgewandelt werden. Nun würde dies fallen, wenn der Benutzer etwas eingibt, das in einen INT umgewandelt werden könnte. Aber in diesem Fall lassen wir es einfach so, wie es ist schön und klar zu sein. Also jetzt führen wir das Programm wieder aus und wir können sehen, dass sie beide INT sind. Und wenn ich es genug mal durchführe, um die Vermutung richtig zu machen. Schließlich kommen wir zu einem Punkt, wo die Vermutung fünf war und die Zahl fünf war. Und wir können sehen, dass das Programm wie beabsichtigt funktioniert. Nachdem Druckaktion als nächstes PDB gesehen, der Python-Debugger. So auf dem Bildschirm können Sie das Buggy-Zahlen-Rating-Programm aus der vorherigen Sitzung sehen. Und wir werden jetzt PDB importieren, damit wir es verwenden können, um dieses Programm zu debuggen. Also habe ich PDB am Anfang importiert und an dem Punkt wo ich möchte, dass PDB die Ausführung des Programms übernimmt, habe ich die folgende Zeile eingefügt. Ich werde auch die Codezeilen löschen, die ich angehängt habe. Wie Sie sehen können, wird das Programm normal ausgeführt, bis es zu diesem Punkt kommt. Und dann werden wir in der Lage sein, Schritt für Schritt Ausführung zu übernehmen. Und es wird uns erlauben, innerhalb des Programms zu schauen, da es immer noch im Speicher läuft. Also bekommen wir, um die Nummer normal eingeben, aber wie Sie sehen können, sieht es ganz anders aus. Die PDB-Leitung links zeigt uns, dass die PDB die Ausführung des Programms übernommen hat. Jetzt ist es wirklich einfach zu vergessen, wo Sie im Programm sind. Eine der wichtigsten Anweisungen ist also, i für die Liste zu verwenden. Wir können sehen, dass es uns einen Abschnitt des Programms zeigt , in diesem Fall,
der besagt, dass wir in Zeile sieben sind. Und die nächste Anweisung wird sein zu erraten, ob gleich Zahl ist. Aber was wir jetzt tun können, ist, zu schauen, was sich im Speicher des Computers befindet. Und es ist ähnlich wie eine normale Python -Shell. Wenn ich tippe, können wir den Wert einer Zahl sehen. Wenn ich tippe, können wir den Wert einer Vermutung sehen. Und sofort funktioniert das etwas besser als Drucken, weil es uns
anzeigt, dass dies kein INT ist, sondern eine Zeichenfolge ist. Mit diesem einen Befehl haben
wir bereits gefunden, was das Problem ist. Während wir mit Print tiefer eintauchen und diese Art von Variablen
manuell ausdrucken mussten . Aber lassen Sie uns dieses Programm weitermachen. Und wir können mit C für weiter tun. Wie Sie sehen können, läuft es bis zum Ende. Es zeigt, dass es normal funktioniert. Und weil dies ein kleines einfaches Programm ist
, müssen wir das tun. Wenn wir nun Spuren an einem anderen Ort setzen, könnten wir betrügen. Werfen wir einen kurzen Blick darauf. Also, jetzt habe ich es vor und ich muss meine Vermutung setzen, damit ich betrügen kann. Ich kann in den Kopf des Computers schauen,
sehen, was er ausgewählt wurde, und dann die Nummer eingeben, die wir manchmal nützlich sein werden, damit Sie das Programm nicht zehn,
15-20 mal, et cetera ausführen müssen . Mal sehen, was die Nummer ist. Also, jetzt kann ich weitermachen. Es fragt nach Eingaben. Nun wieder, das ist wirklich einfach zu beheben, wie Sie im vorherigen Video gesehen haben. Aber die Idee war, Ihnen eine Vorstellung von der Verwendung von PDB zu geben. Aber auch die PDB ist eine wirklich flexible Sache, weil Sie keine Menge von Druckanweisungen eingeben müssen. Sie können die Zeit nur affektiv pausieren, sich im Speicher des Computers umsehen und herausfinden, was vor sich
geht , ohne 20 Druckanweisungen einzufügen zu müssen. Sie können das Programm durchlaufen und Variablen jedes Mal untersuchen, wenn es herumkommt.
104. Grundlegendes Exception: Hey, alle. In dieser Lektion werden wir behandeln, wie Sie Fehler mit try und except behandeln können. Also lasst uns anfangen. Python bietet eine wichtige Funktion, um unerwartete Fehler in Ihren Python Programmen zu behandeln. Ihre Anwendung sollte die Ausnahme immer abfangen und behandeln, bevor der Benutzer sie sieht. Um Ausnahmen zu behandeln, müssen Sie Python mitteilen, was
dies zu tun ist, und dann Code bereitstellen, um die Verarbeitungsaufgaben auszuführen. Die try und except-Anweisungen eignen sich hervorragend für die Behandlung von Fehlern. Es ist eine Steueranweisung, wie es steuert auf das Programm fortschreitet, wenn ein Fehler auftritt. Hier ist die Syntax. Geben Sie den folgenden Code ein. Das Programm versucht, die Anweisung Erythema zehn geteilt durch 0 auszuführen, was unmöglich ist. So wird der verbleibende der try-Blöcke ignoriert und die Anweisung befindet sich im ausnahmeblock wird anstelle der vordefinierten Fehlermeldung
für jede der verschiedenen Arten von Fehlern
ausgeführt . Wenn Sie die Meldung anzeigen möchten, können
Sie das als Schlüsselwort nach dem Fehlertyp verwenden. Zum Beispiel, um die Standardwert-Fehlermeldung anzuzeigen, schreiben Sie. E ist der Variablenname, der dem Fehler zugewiesen wurde. Dies ist ein Beispiel für
die Verwendung der vordefinierten Fehlermeldungen und fängt bei unerwarteten Fehlern ab. Eine vollständige Liste der Fehlertypen in Python finden
Sie auf dieser Website. Wenn Sie den Benutzern
je nach Fehler spezifischere Fehlermeldungen anzeigen möchten , können
Sie den Fehlertyp nach dem Schlüsselwort exempt angeben. Lassen Sie uns nun an einigen anderen Beispielen arbeiten. Der Code innerhalb des try-Blocks hat seine Ausnahmen behandelt. In diesem Fall bedeutet die Behandlung der Ausnahme, die Eingabe
vom Benutzer mithilfe der INT-Eingabeaufrufe zu erhalten . Wenn eine Ausnahme außerhalb des Blocks auftritt, behandelt
der Code sie nicht. Der Except-Block sucht nach einer bestimmten Ausnahme, in diesem Fall Wertefehler. Wenn der Benutzer eine Wertfehlerausnahme erstellt, indem er jam anstelle eines numerischen Werts eingibt, wird
dieser Ausnahmeblock ausgeführt. Der else Block enthält den gesamten Code, der mit einem try Blockcode ausgeführt wurde, erfolgreich ist generiert
keine Anwendung. Der Rest des Codes befindet sich in diesem Blog, da Sie ihn nur
ausführen möchten , wenn der Benutzer eine gültige Eingabe bereitstellt. Wenn der Benutzer eine ganze Zahl als Eingabe angibt, kann
der Code diese dann überprüfen, um sicherzustellen, dass sie korrekt ist. Führen Sie den Code aus und geben Sie Jim anstelle einer Zahl zwischen 15 ein. Die Anwendung zeigt eine Fehlermeldung an. Führen Sie nun den Code erneut aus und geben Sie 20 statt einer Zahl zwischen 15 ein. Die Anwendungsausgaben und unerwartete Bereichsfehlermeldung. Ausnahmebehandlung werden Bereichsfehler nicht ausgelöscht. Sie können einen Ausnahmebehandlungsblock in Python erstellen, der
generisch ist , weil er nicht wie eine bestimmte Ausnahme aussieht. Manchmal benötigen Sie möglicherweise eine generische Ausnahme. Lassen Sie uns ein Beispiel mit einer Ausnahme-Klausel ohne eine spezifische Ausnahme machen, die an sie angehängt ist. Das Ergebnis ist, dass diese Ausnahme-Klausel auch jede andere Ausnahme abfängt, die auftritt. Der Code erkennt zuerst bestimmte Fehler und verwendet dann nur, wenn nötig,
weniger spezifische Handler. Führen Sie den Code aus und geben Sie Jim ein.
105. Mehrere Ausnahmen bearbeiten: Die meisten Anwendungen können mehrere Ausnahmen für
eine einzelne Codezeile mit einer einzigen Ausnahmeschlauselgenerieren eine einzelne Codezeile mit einer einzigen Ausnahmeschlausel um verschiedene Ausnahmen zu behandeln, funktioniert nur, wenn eine gemeinsame Aktionsquelle alle Ausnahmeanforderungen erfüllt. Andernfalls müssen Sie jede Ausnahme einzeln behandeln. Das folgende Beispiel zeigt, wie
mehrere Ausnahmen behandelt werden, indem eine einzelne Ausnahme-Klausel verwendet wird. Geben Sie den folgenden Code in den Editor ein. Beachten Sie, dass die Ausnahme-Klausel jetzt
sowohl einen Wertefehler als auch eine Tastaturinterrupt-Ausnahme unterstützt . Diese Ausnahmen erscheinen in Klammern und sind durch Kommas getrennt. Führen Sie den Code aus, und geben Sie Alan ein. Geben Sie ein. Die Anwendung zeigt eine Fehlermeldung an, führen Sie den Code erneut aus und drücken Sie die Steuerung+c, die gleiche Fehlermeldung. Führen Sie erneut und geben Sie jetzt 20 ein und drücken Sie die Eingabetaste Die Anwendung zeigt die zweite Fehlermeldung an. Wenn Sie mit mehreren Ausnahmen arbeiten, ist
es in der Regel eine gute Idee, jede Ausnahme in ihrer eigenen außer Klausel zu platzieren. Dieser Ansatz ermöglicht es Ihnen, Kundenbehandlung für
jede Ausnahme bereitzustellen und macht es einfacher, genau zu wissen, welche Miete falsch ist. Natürlich ist dieser Ansatz auch viel mehr Arbeit. Lassen Sie uns ein Beispiel dafür machen, wie
Ausnahmebehandlung durchführen , indem Sie mehrere außer Klauseln verwenden. Geben Sie den folgenden Code in den Editor ein. Jede Prüfungsklausel behandelt die unterschiedliche Befreiung. Sie können eine Kombination von Techniken verwenden, außer Klauseln, die
nur eine Ausnahme und die andere behandeln , außer Klauseln, die mehrere Ausnahmen behandeln. Führen Sie den Code aus und drücken Sie die Steuerungstaste plus c. Schauen Sie sich die Nachricht an. Jetzt renne wieder und nimm 20. Die Fehlermeldung ändert sich in den Wert, den Sie eingeben, ist falsch. Eine Strategie für die Behandlung von Ausnahmen besteht darin, die exakten Klauseln für
alle bekannten Ausnahmen und generischen Ausnahmen bereitzustellen , außer Klauseln, um unbekannte Ausnahmen zu behandeln. Sehen Sie sich die Ausnahme an, eine Hierarchie, die Python an dieser Webadresse verwendet. Im folgenden Beispiel werden
wir die Basisausnahme verwenden, die die oberste Ausnahme ist, dann die Tastaturinterrupt-Ausnahme. Und dann werden wir die spezifische ZeroDivisionError-Ausnahme verwenden, nehmen Sie den folgenden Code in den Editor. Der Code beginnt mit dem Erhalten von zwei Eingaben, value1 und value2. Die ersten beiden außer Klauseln behandeln unerwartete Eingaben. Die dritte Ausnahme Klauseln,
die ausgelöst werden, wenn das Ergebnis einer arithmetischen Operation zu groß ist, um dargestellt zu werden, oder eine Zahl geteilt durch 0. Die vierte Ausnahme-Klausel behandelte spezifische mathematische Ausnahmen wie das Dividieren durch 0. Wenn etwas innerhalb der Anwendung gut geht, die else Klausel ausgeführt, die das Ergebnis der Operationen ausgibt. Führen Sie den Code aus. Python fordert Sie auf, die erste Zahl einzugeben, Udemy einzugeben, und wie erwartet zeigt Python eine Fehlerausnahmemeldung an. Führen Sie den Code erneut aus, und geben Sie fünf ist der erste Wert und 0 ist der zweite Wert. Jetzt können Sie die arithmetische Ausnahme und die Fehlermeldung sehen. Hier. Ich wollte sagen, dass diese arithmetische Ausnahme nicht so nützlich ist, aber ich habe sie für Lernzwecke eingegeben. Lassen Sie uns diese Codezeilen löschen und den gesamten Code ausführen. Jetzt können Sie den 0 Divisionsfehler erneut ausführen und die Steuerungstaste plus C drücken. Dies ist die Tastaturinterrupt-Ausnahme. In dieser Lektion habe ich genau angegeben, außer Klauseln für die meisten Fälle. Wenn Sie Fragen haben, lassen
Sie es mich wissen. Danke fürs Zuschauen.
106. Exceptions aufheben: In einigen Situationen muss Ihre Anwendung eine Ausnahme generieren. Dieser Akt wird als Anheben oder manchmal Auslösen der Ausnahme bezeichnet. Lassen Sie sich einige häufige Szenarien sehen, in denen Sie Ausnahmen auf bestimmte Weise auslösen können. Mal sehen, wie Sie eine einfache Ausnahme auslösen, dass es nichts Besonderes erfordert. Die folgenden Schritte erstellen Sie einfach die Ausnahme und behandeln sie dann sofort. Dieser Code zeigt Ihnen, wie das Auslösen einer Ausnahme auf ihrer grundlegendsten Ebene funktioniert Führen Sie den Code in Python zeigt die erwartete Ausnahme txt an. Python bietet flexible Fehlerbehandlung, da Sie Informationen an den Aufrufer übergeben können, den Code, der Ihren Code aufruft, unabhängig davon, welche Ausnahme Sie verwenden, der folgende Code zeigt, dass Sie
die Ausgabe so ändern können , dass es hilfreiche Informationen enthält. Der Wert Fehler Ausnahme, es gibt in der Regel keinen Attributnamen für einen allgemeinen Namen für Zeichenfolgenfehler. Sie können es jedoch nur hinzufügen, indem Sie ihm einen Wert zuweisen, wird angezeigt, wenn das Beispiel die Ausnahme auslöst und die Ausnahme-Klausel sie wie gewohnt behandelt, erhält
aber Zugriff auf die Attribute mit e. Sie können dann das Quadrat e Punkt ausführen. Denken Sie daran, um die hinzugefügten Informationen zu erhalten, führen Sie den Code und Python zeigt und erweiterte Wert Fehler Ausnahme. Wie Sie sehen können.
107. Debug in IDLE 2021: Ein Bug ist ein unerwartetes
Problem in Ihrer Programmierung. Sie können
in vielen Formen auftreten und einige sind schwieriger
zu reparieren als andere. Einige Bugs sind schwierig genug
, dass Sie sie nicht nur
durch Lesen Ihres Programms
abfangen können . Glücklicherweise bietet Python idle einige wichtige Tools
, mit denen Sie Ihre Programme mühelos
debuggen können. Wenn Sie Ihren Code
mit dem integrierten Debugger ausführen
möchten, müssen Sie diese Funktion
aktivieren. Wählen Sie dazu Python-Leerlauf-Menüleiste den
Debug-Debugger aus. Im Interpreter
sollte der Debug
kurz
vor der Eingabeaufforderung angezeigt werden, was bedeutet, dass der Interpreter bereit
ist und wartet. Wenn Sie
Ihre Python-Datei ausführen, erscheint
das Debugger-Fenster. In diesem Fenster können Sie die Werte
Ihrer lokalen und globalen Variablen
bei der Ausführung Ihres Codes
überprüfen . Dies gibt Ihnen einen
Einblick, wie Ihre Daten während der Ausführung Ihres Codes
manipuliert werden.
Sie können auch auf die
folgenden Schaltflächen klicken, um Ihren Code zu durchsuchen. Geh. Drücken Sie diese Taste, um die Ausführung
zum nächsten Haltepunkt voranzutreiben. Diese erfahren Sie
im nächsten Abschnitt. Step, drücken Sie diese, um die aktuelle Zeile
auszuführen
und zur nächsten zu wechseln. Vorbei. Wenn die aktuelle Codezeile einen Funktionsaufruf
enthält, drücken
Sie diese Taste, um
über diese Funktion zu gehen. Mit anderen Worten, führen Sie diese Funktion aus, um zur
nächsten Zeile zu gelangen. Pausieren Sie jedoch nicht während der
Ausführung der Funktion es
sei denn, es gibt einen
Breakpoint Out. Wenn die aktuelle
Codezeile eine Funktion ist, drücken Sie diese, um die Funktion zu
verlassen. Mit anderen Worten, setzen Sie die Ausführung dieser Funktion fort,
bis Sie von ihr zurückkehren. Seien Sie vorsichtig, da
es keinen Rückwärtstaste gibt. Sie können nur
rechtzeitig durch die Ausführung Ihres
Programms voranschreiten . Im Debug-Fenster sehen Sie auch vier Kontrollkästchen. Globals, Ihre Programme
globale Informationen, Einheimische, lokale
Informationen Ihrer Programme während der Ausführung. Stack, die Funktion, die während der Ausführung
ausgeführt wird, Quelle, Ihre Datei
im Leerlauf-Editor. Wenn Sie eine dieser Optionen auswählen, sehen
Sie die relevanten
Informationen in Ihrem Debug-Fenster. Breakpoint ist eine
Codezeile, die Sie als
Ort definiert haben , an dem der Interpreter während der
Ausführung des Codes pausieren
sollte. Sie funktionieren nur, wenn der
Debug-Modus aktiviert ist. Stellen Sie sicher, dass Sie das zuerst
gemacht haben. Um einen Haltepunkt festzulegen,
klicken Sie mit
der rechten Maustaste auf die Codezeile, die
Sie anhalten möchten. Dies wird hervorheben, dass die
Codezeile in Gelb ein visueller Hinweis auf
einen festgelegten Haltepunkt ist. Sie können beliebig viele Haltepunkte
in Ihrem Code festlegen. Um einen Haltepunkt rückgängig zu machen, klicken Sie erneut mit der rechten Maustaste auf dieselbe Linie und wählen Sie Haltepunkt löschen. Sobald Sie Ihre
Haltepunkte festgelegt und den Debug-Modus
aktiviert haben, können
Sie Ihren Code
wie gewohnt ausführen. Das Debugger-Fenster
wird geöffnet und Sie können
Ihren Code manuell durchlaufen. Wenn Sie einen Fehler sehen, der
Ihnen im
Interpreter-Python gemeldet wurde , lasse
ich Sie von der Menüleiste
in die anstößige Datei
oder Zeile springen . Alles, was Sie tun müssen, ist
die gemeldete Zeile oder die Anzahl
der Dateinamen mit Ihrem
Cursor hervorzuheben die gemeldete Zeile oder die Anzahl und Debuggen auszuwählen. Wechseln Sie zu den
Schrägstrichen der Datei in der Menüleiste. Dies öffnet die
anstößige Datei und bringt Sie zu der Zeile
, die den Fehler enthält. Diese Funktion funktioniert
unabhängig davon, ob der Debug-Modus aktiviert ist oder nicht. Python Idle stellt auch
ein Tool zur Verfügung , das als Stack-Viewer bezeichnet wird. Sie können unter der
Debug-Option in der Menüleiste darauf zugreifen. Dieses Tool zeigt
Ihnen die Spurleiste eines Fehlers an, wie er im Stapel
angezeigt wird. Und die letzte Zeile der Ausnahme,
die Python beim Ausführen Ihres Codes im Leerlauf
aufgetreten ist. Wenn ein unerwarteter oder
interessanter Pfeil auftritt, kann es hilfreich sein, einen
Blick auf diesen Stapel zu werfen. Andernfalls kann diese Zukunft schwierig zu analysieren
sein und Sie
wahrscheinlich nicht nützlich sein
, es sei denn, Sie schreiben sehr komplizierten Code.
108. Gestelle, Papier, Scissors: Willkommen bei rock-Paper-Scissors,
einem Kommandozeilenspiel. In den nächsten Lektionen
lernen Sie,
ein
Kommandozeilen-Rock-Paper-Scheren-Spiel zu schreiben ein
Kommandozeilen-Rock-Paper-Scheren-Spiel , Benutzereingaben zu
behandeln , Benutzereingaben zu
behandeln, mehrere
Spiele hintereinander zu
schleifen, Funktionen
zum Gruppencode zu
erstellen, Wörterbücher
zum Speichern von Regeln und Ersetzen von Konstanten
durch Ina-Objekte. Eine kurze Anmerkung zu Versionen. gesamte Code in den Lektionen wurde mit Python 3.9
getestet. Es gibt hier nicht viel
, das zuerst und spezifisch ist. Alle Dolmetscher, die mit Python
3.4
beginnen , funktionieren einwandfrei. Der gemeinsame
Weg, um sich für
Programmierung zu interessieren , ist
die Liebe zu Videospielen. Dies macht das Schreiben zu
Ihrem eigenen Spiel oder logischen Ort, um zu beginnen, wenn
Sie programmieren lernen. Grafische Spiele haben zusätzliche
Dinge zu lernen, da Sie es damit zu tun haben, sich auf den Bildschirm
zurückzuziehen. Kommandozeilenbasierte Spiele
sind der perfekte Einstiegsweg. Sie können ein
Code-Player-Spiel schreiben, aber nicht unter etwas
herabsetzender oder Vektormathematik begraben werden . Wenn Sie noch nie zuvor gespielt haben, ist
Rock-Paper-Schere
ein Zwei-Personen-Spiel, das oft verwendet wird, um schnell zu entscheiden, wer zuerst
geht und ein Brettspiel, wer bekommt das erste Stück Kuchen? Ronnie, einfache Entscheidung. Jede Person zählt bis drei, schüttelt die Faust und macht
dann ein Symbol. Das nennt man Werfen. Die Symbole lassen die drei Wege jedes Symbol
umkreisen
und das andere schlagen. Die Wahl ist und machen Sie eine Faustshow Rock, Rock
Smashes Scissors, machen Sie eine Handfläche, um Papier zu zeigen, Papierdeckel zu rocken
oder zwei Finger zu zeigen. Vorsicht, wo Sie die in Großbritannien
hinweisen, um die Schere zu machen,
Schere schneidet Papier. Um eine textbasierte
Version des Spiels zu erstellen, musst
du Benutzereingaben übernehmen, zufällig den
Wurf eines Computers auswählen und wer vergleichen. Als Nächstes zeige ich Ihnen, wie Sie Eingaben von Benutzern
erhalten und dann eine Schleife erhalten, um
ein wiederholtes Spiel zu erstellen. Danke fürs Zuschauen.
109. Rock, Papier, Scheren mit Python Input und Loops: In der vorherigen Lektion habe ich einen Überblick über das Spiel gegeben. In dieser Lektion zeige ich Ihnen,
wie Sie Eingaben von Benutzern erhalten und dann eine Schleife verwenden, um ein wiederholtes Spiel zu
erstellen. Die einfachste Form
des Spieldienstes indem Sie die Wahl des Benutzers treffen, den Computer eine zufällige Antwort
auswählen und dann die
Ergebnisse des Benutzers anzeigen. Sehen wir uns etwas Code
an, um genau das zu tun. Melden Sie sich bei Ihrem Konto an. Hier fängst du damit an, den Code zu
schreiben. Das erste Bit
Code, das Sie auf
Band beziehen, ist der Import zufällig. Dadurch wird das
Python-Modul namens random geladen. Dieses Modul enthält
Funktionen, mit denen Sie nach dem Zufallsprinzip zwischen
Wahlmöglichkeiten und Zahlen auswählen können. Sie verwenden es, um die Antwort
des Computers
auf den Player auszuwählen . Apropos Auswahlmöglichkeiten,
Sie sollten
angeben, welche Möglichkeiten es gibt. In der nächsten Zeile deklarieren
Sie Auswahlmöglichkeiten, eine Liste mit den Saiten, Stein, Papier und Schere. Als nächstes tippst
du eine Zeile ein, die eine Herausforderung
an den Spieler ausgibt. Geben Sie also Klammern drucken, doppelte Anführungszeichen ein, machen Sie Ihren Wurf. Schließen Sie doppelte Anführungszeichen
und Klammern. Als Nächstes müssen Sie sich einen Weg
überlegen, der eine Antwort eines Spielers
anfordert. Dies geschieht mit der
Eingabefunktion. Die integrierte Eingabefunktion nimmt eine Zeichenfolge an, die verwendet wird, um den Benutzer zu auffordern, und gibt
unabhängig davon zurück, in den der Benutzer eingegeben wurde. Die Wahl des Benutzers
wird in
der Variablen namens user choice gespeichert . Sie sollten nicht einfach irgendeine
zufällige Sache vom Benutzer akzeptieren. Sie möchten sicherstellen, dass
es sich um eine gültige Wahl handelt. Sie verwenden also die IF-Funktion. Geben Sie also ein, wenn der Benutzer
ausgewählt ist. In dieser Zeile wird überprüft
, ob der Benutzer eines dieser Elemente
in der Auswahlliste eingegeben hat. Wenn dies der Fall ist, wählt die nächste Zeile zufällig die Antwort des
Computers aus. Die
Auswahlfunktion für zufällige Module nimmt eine Liste und wählt nach dem Zufallsprinzip
eines der Elemente in der Liste aus. Die Auswahl wird zurückgegeben und wird in diesem Fall nach Wahl
des Computers gespeichert. Als Nächstes geben wir eine
Befehlszeile ein, die
eine Print-Anweisung enthält ,
die dem Benutzer die Ergebnisse zeigt. Geben Sie print open Klammer ein,
und drücken Sie die Eingabetaste. Wenn Sie
in f-Zeichenfolge noch nicht gesehen haben, ist
es eine Möglichkeit,
eine Vorlage zu erstellen , die
Python ausfüllen wird. Einem f-String wird
der Buchstabe F vorangestellt , daher der Name. Dann sucht es nach
Klammern. Das sind die
lockigen in der Saite. Werte in den Klammerklammern werden durch ihre
entsprechenden Variablen ersetzt. In diesem Fall werden die
Benutzerauswahl und die Computerauswahlwerte in die Streckung
eingefügt. Drücken Sie Enter. Das Ganze wird dann
von der Druckfunktion auf den Bildschirm gelegt. Da die IF-Funktion
nach gültigen Werten sucht, möchten
Sie dem Benutzer mitteilen,
ob er sich nicht für
etwas Gültiges entschieden hat. dem Benutzer in der nächsten Zeile in
dieser else-Klausel mit, Teilen Sie dem Benutzer in der nächsten Zeile in
dieser else-Klausel mit, was er getippt hat, und
sagen
Sie ihm, dass es keine
gute Wahl war. Lass uns das Spiel in Aktion sehen. Hier. Ich bringe das Drehbuch in den Rock
und es sagt mir, dass ich Rock
und den Computer
durch eine Schere gewählt habe . Lass es mich noch einmal laufen lassen. Dieses Mal trete ich Lutscher ein. Nein, keine gültige Wahl. Jedes Mal, wenn Sie das Spiel spielen möchten
, ist das
erneute Ausführen des Befehls viel Arbeit. Nicht so viel, aber du
kannst es immer noch einfacher machen. Was ist mit dem Benutzer
des Halses wieder nach unten zu fragen? Um dies zu tun, müssen Sie die
gesamte Spiellogik in eine Schleife wickeln . Nachdem das Ergebnis angezeigt wurde, fragen Sie den Benutzer auf, ob er erneut spielen
möchte. Lassen Sie uns den Code ändern. Der erste Schritt besteht darin, eine Endlosschleife
hinzuzufügen. Nach der Listenauswahl
mit einer While-Schleife. Die while Anweisung wird so lange geschleift,
bis die damit
verbundene Bedingung als falsch
ausgewertet wird, ist wahr, wird niemals als falsch
ausgewertet. Diese Schleife geht ewig weiter. Der nächste Teil der Arbeit
ist der vorherige Code, der jedoch in die Schleife eingebettet ist. Also drücke ich vor
jeder Codezeile, die wir über Einrückungen in
Python
gesprochen haben, eine Registerkarte über Einrückungen in
Python
gesprochen und warum es so wichtig
ist. Nur um sich daran zu erinnern,
dass Einrückung der führende
Leerzeichen, Leerzeichen und Tabs vor
jeder Anweisung in Python ist. Der Grund, warum
Einrückungen in
Python wichtig sind, ist dass
Python die
Anweisungen behandelt die dieselbe Einrückungsstufe haben,
Anweisungen, die
vorher
gleich oder keinen Leerraum haben dann als ein
einziger Codeblock. Einmal wurde Around gespielt. Dieser Prozess, der Benutzer,
wenn er erneut spielen möchte, nennen
wir ihn erneut variabel. Dann fügen Sie eine Eingabeaufforderung hinzu. Wenn der Benutzer erneut spielen möchte. Ich füge eine neue
Zeile hinzu, die die
Antworten der Benutzer überprüft und sieht, ob sie mit M
übereinstimmt. Im Moment wird
die Dot-Lower-Methode für die Antwort aufgerufen , bevor
sie verglichen wird. Diese Methode gibt
die Kleinbuchstabenversion
der Zeichenfolge zurück die Kleinbuchstabenversion
der , auf die
sie aufgerufen wird. Wenn der Benutzer auf diese Weise Kapital N
eingibt, wird
es in Kleinbuchstaben n umgewandelt , bevor
es verglichen wird. Wenn der Benutzer nein angibt, wird die
break-Anweisung aufgerufen. Die Break-Anweisung bricht dich aus der umgebenden Schleife heraus. In diesem Fall würde der Code mit der nächsten Zeile
fortfahren. Wenn der Benutzer etwas nach n tippt, wird
davon ausgegangen, dass er ja gemeint hat. In diesem Fall wird der
Code in der Schleife hier
fortgesetzt, Sie
fügen einen leeren Druck hinzu
, der eine leere Zeile anzeigt. Danach
geht die Ausführung zurück an den
Anfang der While-Schleife und
fordert den Benutzer auf, seinen nächsten Nervenkitzel zu machen. Nur weil es sich um einen Flug handelt, verabschiedet sich
der Code vom Benutzer,
nachdem er von
der While-Schleife abgebrochen ist. Hier ist der neue modifizierte
Code in seiner ganzen Pracht. Lass mich den Code ausführen. Diesmal trete ich eine Wahl ein, wenn auch in Papier. Es zeigt mir, was sowohl der Computer als auch ich ausgewählt haben
und dann auffordert. Wenn ich nochmal gehen will, werde
ich TBS und das Spiel geht weiter. Lass uns noch einmal Papier wählen. Jetzt glaube ich, dass ich fertig bin. Siehst du, ist es nicht schön
, dass es sich verabschiedet
hat, nur die Entscheidungen zu treffen
ist nicht gut genug. In der nächsten Lektion zeige
ich dir, wie
du sagen kannst, wer gewonnen hat.
110. Gesteins, Papier, Scheren mit Python Wie man einen Gewinner bestimmen: In der vorherigen Lektion
habt ihr angefangen, den ursprünglichen Code für die
Steinpapierschere zu schreiben . In dieser Lektion
zeige ich Ihnen, wie Sie
Code hinzufügen , der den
Gewinner in jeder Runde deklariert. Ihnen nur die Entscheidungen zu zeigen
, die der Benutzer rechts nach Computerwahl getroffen hat, fühlt sich wie ein bisschen leicht an. Fügen wir einen Code hinzu
, um zu sagen, wer gewonnen hat. Sie müssen die Logik für
jede Situation von x Beats
codieren . Warum? Wir sind Rock
Smashes Schere, Papierabdeckungen Stein und
Schere schneidet Papier. Als Logik, um zu bestimmen , wer eine Art von zusammenpasst, wäre
es am besten,
dies in eine Funktion zu integrieren. Du könntest es sogar
etwas Sinnvolles nennen. Sie beginnen, den vorherigen Code mit
der darin enthaltenen
Logik zur Gewinnerbestimmung zu ändern . Es empfiehlt sich, verwandte Code-Bits und Funktionen zu gruppieren. Dies ermöglicht die Wiederverwendung von Code
durch mehrere Aufrufe der Funktion und die
Klarheit des Lesens Ihres Codes. Nach der Liste der Auswahlmöglichkeiten fügen
Sie
eine neue Zeile hinzu, die die Winterfunktion anzeigen
deklariert. Es braucht zwei Argumente. Die erste heißt Benutzerauswahl und die zweite Computerwahl. In der nächsten Zeile prüfen Sie
, ob der Benutzer und der Computer denselben Wert
gewählt haben. Bei SIL
ist die Benutzerauswahl identisch mit der
Computerauswahl. Dann gibt das Programm in der nächsten Zeile aus, dass
es eine Krawatte gab, und beide Benutzer wählten die
spezifische Auswahl aus. der nächsten Zeile fügen
Sie else-if hinzu, die nur ausgeführt wird,
wenn der Benutzer und der Computer
andere Werte gewählt haben. Diese Zeile prüft, ob
der Benutzer Rock gewählt hat. Wenn ja,
gibt es zwei Unterfälle. Der Computer hat sich für eine Schere
und damit den Benutzer entschieden. Der Computer wählte Papier
im Computer aus. Denken Sie daran, wenn der
Computer Rock gewählt wird, würden
Sie nicht
hierher kommen, wenn ein bisschen
Logik von dieser Linie erfasst wird. Der nächste Schritt besteht darin, eine E Lyft Line
hinzuzufügen, die dieser
Zeile ähnelt, aber für Papier. Eine ähnliche Logik ist in
dem else-if-Block enthalten , der die Win
- und Verlustbedingungen für Papier
verarbeitet . Dann machst du es erneut
im Vergleich zu IRS und damit
verbundenen Gewinn
- und Verlustbedingungen. Wenn schließlich etwas
anderes als Stein, Papier oder Schere getippt wurde, wird
es von der else-Klausel erfasst. Indem Sie diese Codezeile eingeben. In diesem Fall wird dem Benutzer mitgeteilt
, dass sein Hals schlecht sei. Der Code in der wilden Schleife
ist ziemlich nah an der Vorher, nur mit der neuen Zeile, die die Show-Winner-Funktion
aufruft. Löschen Sie diese Codezeilen, wir brauchen sie nicht. Geben wir den neuen
Code genau hier ein. Du bist bereit, jetzt zu spielen, lass uns das Spiel laufen. Alle Typ ROC. Sei schon wieder spielen. Rock noch
einmal und du bekommst die Idee. Ein großer Wenn-dann sonst Blog,
wie ich es gerade gezeigt habe, kann etwas schwer zu lesen sein. Es wird nur noch schlimmer
, je mehr Bedingungen man vergleichen muss. Diese Art von Code ist so
üblich, dass Python 3.1 L eine neue Schlüsselwortstruktur hat, die
als Musterabgleich bezeichnet wird. Dies ist ein bisschen neu von
einer Syntax in Python , die eine Reihe von
Auswahlmöglichkeiten basierend auf einem Muster anzeigt. Diese Struktur
ermöglicht es Ihnen, große,
wenn dann andere Blöcke mit
weniger Codezeilen zu schreiben . Wenn Sie es gewohnt sind,
Anweisungen in anderen Sprachen zu wechseln , ist dies ein Sorgerecht dafür. Es gab einige Diskussionen
über die
Pattern-Matching-Anweisung , aber Sie könnten darüber nachdenken,
bis Python 3.10 draußen ist, Sie stecken fest, wenn
dann sonst oder Sie sind. Lassen Sie mich Ihnen eine Welle zeigen, die
Datenstrukturen in
Ihrem Code verwendet Datenstrukturen in
Ihrem Code um die Codierungslogik zu vereinfachen und die Größe des If
zu reduzieren. Dann blockiere sonst. Wir werden gleich nach der Auswahlliste
zwei neue Wörterbücher,
Beats und Nachrichten hinzufügen . Nehmen wir die erste Änderung
im vorherigen Programm, nämlich die Einführung
des Beats-Wörterbuchs. Dieses Wörterbuch speichert die welche Perlen, welche Bedingungen. Jeder Schlüssel des Wörterbuchs ist
, steht gegen die Liste
der Dinge, die schlagen. Sie werden verstehen, warum Sie
die Liste in der nächsten Lektion verwenden. Diese Linie kodiert die
Tatsache, dass Stein Scherenpapier schlägt Stein
und Schere schlägt Papier. Sie könnten
die Nachricht an
den Benutzer vereinfachen , indem Sie die
Sprache ändern, um x Beats y zu sagen anstatt die Besonderheiten
der Rock Smashes Schere zu haben. Stattdessen das Verb, das
die Gewinnaktion in
einem anderen Wörterbuch beschreibt die Gewinnaktion in , das
als Nachrichten bezeichnet wird. Jeder Schlüssel in diesem Wörterbuch ist ein Tupel,
das beschreibt, was schlägt, was. Der erste sagt
, dass wenn die
Schere „Rock Beats “ das Wort „Smashes“ benutzt. Dies kann vereinfacht werden, indem Sie nur den Gewinnerpunkt B
haben, den Schlüssel zu diesem Wörterbuch. Die nächste Lektion fügt jedoch eine gewisse Komplexität hinzu, auf die sich
dies vorbereitet. Die nächste Zeile kodiert
, dass Papier Stein bedeckt, und in der nächsten Zeile schneidet die
Schere Papier. Lass mich ein bisschen nach unten scrollen. Wenn die Spielregeln in Wörterbüchern
kodiert sind, wird
der Code für den Showwinter etwas einfacher. Linie 1819 ist die gleiche wie vor der Überprüfung
des thailändischen Zustands. Aber jetzt müssen Sie
den Teil des Wenn-dann ändern , sonst wurde die Suche nach schlechten Daten am
Ende der Funktion durchgeführt. Ich verschiebe es hier hoch. Lassen Sie uns die
Zeilen von 20 bis 36. löschen. Die DOD-Schlüssel-Methode im
Beats-Wörterbuch gibt eine Liste
aller gültigen Schlüssel zurück. Die Wahl des Benutzers liegt nicht darin. Es bedeutet, dass es
keine gültige Wahl war. Der andere Block, der in Zeile 22
beginnt,
enthält jetzt all das, wer
sein wird, ist welche Logik? In dieser Zeile führe ich einen
booleschen Vergleich durch, um zu prüfen ob die Auswahl des Computers in der Liste der
Dinge, die BY sind, nach Wahl des Benutzers. Wenn der Benutzer Rock gewählt hat, wird
der Key Rock auf Beats
angewendet. Rückgabe der Liste, die nur
eine Schere enthält. Wenn der Computer eine Schere gewählt hat
, gibt es eine Übereinstimmung und der daraus resultierende boolesche
Vergleich ist wahr. Diese
in Benutzergewinnen gespeicherten Werte. Die nächste Zeile wertet dann die booleschen Benutzergewinne aus. Der Benutzer hat gewonnen,
als er sich das entsprechende Verb im
Nachrichtenwörterbuch ansah, wobei das Benutzer- und
Computerauswahl-Tupel als Schlüssel für die Auswahl
von Rock und Schere verwendet wurde, das Ergebnis wird sein zertrümmert. Mit dem Verb, bereit zu gehen. Alles was noch übrig bleibt, ist
der Benutzer die gute Nachricht. Diese f-Zeichenfolge zeigt
die Wahl des Benutzers, die Wahl des Computers
und das zugehörige Verb. Beachten Sie, dass
es in
den Klammern für die Wahl des Benutzers für die Wahl des Benutzers mehr als nur
die Variable gibt. Eine f-Zeichenfolge ermöglicht es
Ihnen, Methoden für String-Objekte
aufzurufen , die die Methode nicht groß schreiben, gibt eine neue Zeichenfolge mit großgeschriebenem ersten
Buchstaben zurück. Dies wird den Anfang
des Satzes richtig aussehen lassen. Natürlich gewinnt der Benutzer
nicht immer. Die else-Klausel macht
die Spiegellogik. Da es sich bei dem Computer um einen handelt, wird
das Verb mit
der Rückseite des Tupels
im vorherigen Block nachgeschlagen . Dann werden dem Benutzer die schlechten Nachrichten
mitgeteilt. Code ist etwas kürzer
als der große wenn dann sonst Block aus
der vorherigen Lektion. In diesem Fall
lohnt es sich vielleicht nicht einmal, aber wenn das Spiel
komplizierter wird, haben
Sie viel Arbeit gespart. Hier gibt es nicht viel zu sehen, was
du noch nie gesehen hast. Der Code wurde überarbeitet,
aber das Endergebnis
soll dieselbe
Drei-Wege-Entscheidungsfindung sein ,
die einfach nicht komplex genug
ist. Herzlichen Glückwunsch, du hast gerade ein Spiel in Python
programmiert. Sie wissen jetzt, wie man Steinpapierscheren
von Grund auf neu herstellt. Und Sie können die Anzahl der
möglichen Aktionen in Ihrem
Spiel mit minimalem Aufwand
erweitern . Schreiben von Spielen ist der unterhaltsame Weg , um das Schreiben von Code zu üben. In diesem Projekt
haben Sie
eine textbasierte Version von
Rock Paper Scissors implementiert . Sie bitten den Benutzer um
Eingabe und validiert sie, Looped oder Code,
damit wiederholte Spiele hinzugefügt wurden, um die Winterfunktion anzuzeigen,
um festzustellen, wer Ihre Show
Winterfunktion gewonnen und vereinfacht hat, indem Sie
einige ersetzen bedingte Logik mit einer im Wörterbuch
gespeicherten Datendarstellung. Ich hoffe, Sie haben
in diesem Projekt einen Wert gefunden. Danke für Ihre
Aufmerksamkeit und
wir sehen uns in der nächsten Lektion.
111. Was ist eine objektorientierte Programmierung (OOP): Hallo an alle. Ich möchte Sie zu unserer Lektion über objektorientierte Programmierung in Python drei begrüßen, dies ist eines der größten und wichtigsten Themen in der gesamten Programmierung. Und wie Sie sehen können, haben wir eine Menge zu decken. Diese Serie bietet Ihnen ein grundlegendes konzeptionelles Verständnis
der objektorientierten Programmierung, so dass Sie Ihre Python Programmierkenntnisse auf die nächste Ebene
bringen können . Um das Thema voll und ganz zu schätzen, müssen
wir zuerst verstehen, warum wir Programme oder übermäßig komplizierte Dinge brauchten. Und es gibt 100 verschiedene Möglichkeiten, wie Sie definieren können, was ein Programm formell ist. Dennoch, im Grunde alle Programme oder eine Reihe von Anweisungen, um Daten auf eine sinnvolle Weise zu manipulieren. Wenn ich Python Kindern beibringe, lasse ich sie immer ein Programm schreiben, das berechnet, wie viele Tage alt sie sind. Und das ist ein großartiges Beispiel für ein Programm, das diesen drei Schritten folgt. Zuerst muss das Programm den Benutzer nach seinem Geburtsdatum fragen. Das sind die Daten, die es akzeptieren wird. Dann manipuliert es die Daten, indem das aktuelle Datum vom Geburtsdatum des Benutzers subtrahiert wird. Schließlich zeigt das Programm das Ergebnis dieser Berechnung auf dem Bildschirm an. Das ist ein großartiges Starterprogramm, aber es ist sehr trivial. Wie verwalten wir große Programme mit vielen Daten, um den Überblick wie ein Videospiel zu behalten. Wie Sie vielleicht schon erraten haben, kommt hier die objektorientierte Programmierung ins Spiel. Objektorientierte Programmierung, kurz OOP, ist ein durchaus gängiges Programmierparadigma. Formal bedeutet dies, dass es eine bestimmte Art ist, Programme zu entwerfen, wie ein Stil, der in Softwareprojekten weit verbreitet ist. Nicht jedes Programm sollte damit geschrieben werden. Oop, aber viele sind es. Und viele Sprachen werden unterstützt. Ein Großteil des Python Codes, mit dem Sie täglich interagieren, wird mit OOP geschrieben. Dies zu verstehen ist ein grundlegender Teil, um ein gripe Python Programmierer zu werden. Es öffnet die Tür, um wirklich coole Software zu erstellen. Das Herzstück von OOP ist die Idee, dass ein Programm aus vielen Einzelobjekten zusammengesetzt ist. Sie können sich vorstellen, dass diese Objekte Entitäten oder Dinge in Ihrem Programm sind. Oft sind sie wie die Substantive in Ihrem Projekt, wie die Person, ein Haus, eine E-Mail oder eine andere Entität wie diese. Diese Objekte sind wie kleine Bündel von Daten, die während der gesamten Lebensdauer Ihres Programms
weitergegeben werden . Beispielsweise kann eine Person Eigenschaften wie Name,
Alter und eine Privatadresse haben . Dies sind die einzelnen Daten, die das Objekt während seiner gesamten Lebensdauer im Programm speichert. Wenn wir dieses Personenobjekt erstellen, stellen
wir sicher, dass Sie ihm einen Namen und ein Alter und eine Adresse geben. Objekte haben auch Verhaltensweisen. Dies sind die Aktionen, die das Objekt ausführen kann. Unsere Person sollte zum Beispiel in der Lage sein zu gehen, zu
reden und zu atmen. Häufig müssen diese Verhaltensweisen in den Eigenschaften des Objekts
referenziert werden . Wenn wir zum Beispiel unser Sprechverhalten den Namen und das Alter der Person ausdrucken lassen, dann müsste unser Objekt wissen, was sein Alter und Name ist. Diese Eigenschaften haben wir es früher gegeben. Wenn das jetzt alles etwas verwirrend erscheint, mach dir keine Sorgen, als ich mit der Programmierung anfing, war
dies die erste echte Hürde, auf die ich gestoßen bin. Und es dauerte nur etwas Hingabe und Übung, bis ich es endlich verstanden habe. Wir werden in den restlichen Lektionen Objekte intensiv nutzen. Und Sie werden das Gefühl lieben, das Sie bekommen, wenn es nur für Sie klickt. Im nächsten Video erfahren Sie, wie Sie unsere eigenen Objekte mithilfe von Python Klassen definieren. Ich seh dich dort.
112. Kurse in Python: Willkommen zurück zu unserer Videoserie zur objektorientierten Programmierung in Python. Im letzten Video haben wir gelernt, was objektorientierte Programmierung ist und welches Problem es löst. Werfen wir nun einen Blick darauf, wie wir unsere eigenen Objekte in Python Programmen definieren können. Um unsere eigenen Objekte zu erstellen, verwenden
wir Python Klassen. Klassen werden verwendet, um Objekte praktisch so viele einzigartige Objekte zu erstellen, wie wir wollen. Sie definieren auch einen Typ. Werfen Sie einen Blick auf diesen Code. Mein Unterstrichname entspricht Austin. Hier erstellen wir eine neue Variable namens mein Name mit einem Wert von Austin. Hinter den Kulissen der Variablen verweist tatsächlich auf ein Objekt. Der Objekttyp ist STR, kurz für string
, der auf Python Datentyp basiert, den Sie wahrscheinlich zuvor verwendet haben. Python definiert eine Zeichenfolge ist eine Klasse und um diese Art von Objekt von STR zu erstellen, instanziiert
wir die STR-Klasse, um eine Klasse zu instanziieren oder eine Instanz einer Klasse zu erstellen, bedeutet
nur, ein Objekt aus dieser Klasse zu erstellen. Sie haben hier das Wort Instanziierung, das viel in der Programmierung herumgeworfen wird. Denken Sie also daran, es bedeutet, eine Klasse zu nehmen und ein Objekt aus dieser Klasse zu erstellen. Um dies ein wenig klarer zu machen, werde
ich eine meiner Lieblingsanalogien verwenden. Nehmen wir an, wir schreiben ein Programm, das Türen schafft. Wir beginnen damit, eine Klasse für eine einzelne Tür zu erstellen. Diese Klasse hier ist wie die Blaupause, für die wir alle unsere Türobjekte bauen. Die Klasse gibt einige Eigenschaften und Verhaltensweisen an. Denken Sie daran, dass jedes unserer Türobjekte
diese haben wird und es wird unabhängig von jedem Türobjekt sein. Eine Tür kann Eigenschaften wie Höhe, Farbe und ob sie derzeit gesperrt ist oder nicht. Es könnte auch Verhaltensweisen wie Öffnen, Schließen und Umschalten Sperren haben. Wir haben eine Türklasse definiert, aber wir haben auch einen neuen Typ definiert, den wir in unserem Programm verwenden können. Lassen Sie uns ein Türobjekt mit einer Höhe von 50 Zoll erstellen, orange lackiert. Und wir werden nur sagen, dass wir es bauen, es ist freigeschaltet. Hier. Wir haben gerade die Türenklasse instanziiert. Denken Sie daran, das bedeutet, dass wir einen Objekttyp von Tür aus unserer Türklasse erstellt haben. Und wir sind nicht darauf beschränkt, nur eine zu erschaffen. So wie wir in der realen Welt viele Türen aus einem einzigen Tür-Blueprint bauen können. Wir können viele Türobjekte aus unserer Einzeltürklasse initiieren. Hier habe ich noch einen instanziiert. Beachten Sie, dass jedes dieser Türobjekte eindeutig ist. Sie haben sowohl unterschiedliche Höhen als auch Farben und jeder von ihnen kann entweder gesperrt oder entriegelt werden. Wir können die Farbe einer einzelnen Tür ändern, und das wirkt sich nicht auf den Rest aus. Diese Objekte sind alle unabhängig und sie haben sich nicht mehr auf die Klasse verlassen. Die Klasse teilt Python nur mit, wie die Objekte erstellt werden sollen. Hier ist eine Frage. Können Sie sich Szenarien vorstellen, in denen Klassen und Objekte in einem realen Programm verwendet werden könnten? Im nächsten Video werde ich Ihnen einige Beispiele geben und dann
lernen wir , wie Klassen tatsächlich in Python gebaut werden.
113. Kurs- und Instance: Willkommen zurück zu unserer objektorientierten Programmierung in Python. Im letzten Video habe ich die Frage gestellt, wir werden Klassen und Objekte in echter Software verwenden. Ich habe zwei Beispiele entwickelt, Videospiele in Webbrowsern. Für ein Videospiel können wir in Holt-Eigenschaften
eine feindliche Klasse definieren , wie den Namen des Feindes, seine aktuelle Gesundheit und seine Leistungsstufe. Für Verhaltensweisen könnten sie angreifen, Schaden erleiden
und schließlich, wenn ihre Gesundheit niedrig genug ist, deklariert Niederlage. Videospiele sind ein gutes Beispiel für komplexes objektorientiertes Software-Design. Sie sind mit vielen und vielen Klassen gebaut und dann
verlassen sie sich auf eine oder andere Weise aufeinander. Der Webbrowser, den Sie gerade verwenden, kann auch mit OOP gestaltet werden. Einzelne Dämme können jeweils ihre eigenen Objekte sein, die aus der Tab-Klasse instanziiert werden. Die Eigenschaften können der Titeltext sein,
unabhängig davon, ob es sich bei der Registerkarte gerade um die
angezeigte Registerkarte handelt oder nicht , und auch um die Webseite, die auf der Registerkarte angezeigt wird. Für Verhaltensweisen könnten wir Kleidung haben und nachladen. Sehen Sie sich nun jede dieser Eigenschaften sorgfältig an. Ich denke, der Titeltext wird
als Zeichenfolge dargestellt und ob der Tab geöffnet ist oder nicht. Nun, das könnte ein boolescher Wert sein, wahr oder falsch. Aber wie spät sollte unsere Webseiteneigenschaft B, es gibt keinen in Python eingebauten Datentyp, der alles über eine Webseite speichern kann. Also hier können wir tatsächlich eine separate Klasse
namens Seite mit seinen eigenen Eigenschaften und Verhaltensweisen erstellen . Wie Sie sehen können, sind die Eigenschaften einer Python Klasse nicht auf
integrierte Datentypen in Python wie INT und SDR beschränkt . Unsere eigenen benutzerdefinierten Seiten wie Seite können auch als Eigenschaften anderer Klassen verwendet werden. Wenn wir eine Klasse TAM unten instanziieren, müssen
wir sie auch mit einem Seitenobjekt zur Verfügung stellen, genau wie wir es mit einem STR-Objekt für den Namen zur Verfügung stellen müssen. Der Sinn dieser Übung war es, Ihnen zu zeigen, dass Software als eine Sammlung von Objekten betrachtet wird, die miteinander interagieren. Meiner Erfahrung nach besteht der schwierigste Teil des Lernens von OOP nicht darin, die Konzepte selbst zu erlernen, aber zu lernen, wie man eine Software in Bezug auf OOP entwirft, dauert die
Planung Ihres Softwareprojekts oft viel länger als die es. Es ist etwas, das sowohl neue als auch die Saisonentwickler herausfordern kann. Wie Sie mittlerweile wissen, definiert
eine Klasse sowohl die Eigenschaften als auch das Verhalten ihres Objekts. Also jetzt lasst uns tatsächlich einen schreiben. Um eine neue Klasse zu definieren, beginnen
wir mit einem Schlüsselwort Klassen gefolgt von dem Namen der Klasse. Leicht genug. Und nun, wir haben nicht wirklich gelernt, wie Eigenschaften zu definieren sind Verhaltensweisen in Python. Also lasst uns einfach Pfade schreiben. Dies ist ein spezielles Schlüsselwort, das Python mitteilt, dass dies eine leere Klasse ist. Bevor wir Eigenschaften zu unserer Klasse hinzufügen können, müssen
wir lernen, wie sie in Python funktionieren. Zunächst werden Eigenschaften in Python tatsächlich als Attribute bezeichnet. Dies sind zwei Arten von Attributen, Instanzattribute und Klassenattribute. Instanzattribute sind das, was wir zuvor gesehen haben. Dies sind die Attribute, die unabhängig von
jedem Objekt sind , wie Türfarbe oder Höhe. Im vorherigen Beispiel. In diesem Beispiel werden unsere Hund-Klassen zu sofortigen Attributen, Namen und Alter. Diese def Unterstrich, Unterstrich, Init, Unterstrich, Unterstrich. Dies ist eine ganz besondere Funktion, die zu unserer Klasse gehört. Dies wird der Initialisierer genannt, und es ist ähnlich wie ein Konstruktor. Wenn Sie das jemals in einer anderen Sprache gesehen
haben, nennen wir diese Funktion nicht selbst. Stattdessen ruft Python diese Funktion automatisch auf, wenn wir die Klasse instanziieren. Mit anderen Worten, diese Funktion wird verwendet, um eine neue Objekte aus der Klasse zu konstruieren. Das Ziel des Initialisierers ist es, unserem Objekt anfängliche Attributwerte zur Verfügung zu stellen. Sie können sehen, dieser Initialisierer nimmt drei Parameter, Selbstname und Alter. Wenn wir die Hundeklasse instanziieren, müssen
Sie die Werte für den Namen in Alter übergeben, und dann wird diese Funktion den neuen Objekten diese Werte zuweisen. Selbst ist ein ganz besonderes Schlüsselwort, und die Tatsache, dass wir es in unsere Parameter aufnehmen müssen, ist einer dieser kleinen Python Korken. Wir übergeben keinen Wert für sich selbst, wenn wir das Objekt erstellen. Stattdessen wird self verwendet, um auf das aktuelle Objekt zu verweisen, das während der Instanziierung erstellt wird. Wenn wir also sagen, self.age entspricht Alter, sagen
wir, nehmen Sie den Wert des Alters, geben
wir ein und weisen das den neuen Objekten zu. Alter Attribut nicht, und das gleiche gilt für den Namen. Denken Sie daran, wie wir gesagt haben, dass jedes Objekt seine eigenen unabhängigen Werte
für seine Attribute hat , wie wie eine Tür orange und eine andere grau sein kann. Nun, das muss eigentlich nicht der Fall sein. Hier kommen Klassenattribute ins Spiel. Im Gegensatz zu Instant-Attributen, die für jede Instanz der
Klasse unabhängig sind , sind Attribute für jede Instanz gleich. Denken Sie es so mit sofortigen Attributen, wir könnten eine Tür eine neue Farbe malen und es würde keine Auswirkungen auf die Farben der anderen Türen. Wenn wir die Farbe jedoch zu einem Klassenattribut machen und sie auf Gelb
setzen, wären alle Türen standardmäßig gelb, wenn sie instanziiert werden. Dies ist nur ein Standardwert für die Klasse. Das bedeutet nicht, dass wir alle unsere Türen instanziieren müssen. Wenn Sie die Farbe einer Tür ändern, werden alle von ihnen geändert. Wenn du gerade statisch denkst, ist
das ein bisschen anders. Im Beispiel der Dawn-Klasse wird
Spezies außerhalb definiert, wenn die Initialisierer-Funktion, was bedeutet, dass es ein Klassenattribut ist. Das bedeutet, dass jeder Hund, den wir instanziieren, standardmäßig ein Säugetier ist. Und das können wir nicht ändern, wenn wir ein neues Dog Objekt erstellen. Im nächsten Video beginnen wir mit der Programmierung unserer Hundeklasse und wir werden sehen, wie die Klasseninstanziierung in Python funktioniert.
114. Attribute zu einem a hinzufügen: Willkommen zurück zu unserer Serie über objektorientierte Programmierung in Python. Im letzten Video haben wir gelernt, wie Python Klassen
sowohl Klassenattribute als auch
Instanzattributedefinieren können sowohl Klassenattribute als auch
Instanzattribute , um besser zu verstehen, wie Klassen instanziiert werden. Gehen wir rüber zur Python -Shell. Ordnung, also bin ich hier in der Python -Shell und werde damit beginnen, eine neue Klasse Dog zu erstellen. Und ich schreibe einfach Pass, der Python sagt, dass wir ein leeres Objekt wollen. Jetzt werde ich einfach dog-like das nennen. Python wird das instanziieren und es wird
uns tatsächlich die Speicheradresse unseres neuen Dog-Objekts mitteilen. Das ist diese ausgeklügelte Zahl hier. Jetzt lassen Sie uns ein weiteres Hundeobjekt erstellen. Glauben Sie, dass dieses neue Objekt dieselbe Speicheradresse wie das erste hat? Oder wird es anders sein? Wenn wir hier drücken, werden Sie sehen, dass dieses neue Objekt eine etwas andere Speicheradresse hat. Dies liegt daran, dass jeder Vorfall unserer Hundeklasse einzigartig ist. Sicher, beide Objekte werden aus derselben Klasse erstellt, aber sie sind immer noch verschiedene Objekte im Speicher. Wenn wir tatsächlich unsere Klasse mit dem Initialisierer füllen, könnten
wir jedem Objekt verschiedene Attribute zuweisen. Und nur um diesen Punkt nach Hause zu fahren, werde
ich zwei neue Hunde erstellen und ich werde sie in den Variablen a und b speichern. Also an dieser Stelle, a und B sind beide Variablen, die auf Objekte im Speicher,
Objekte und Typ Hund zeigen . Wir können leicht überprüfen, ob sie das gleiche Objekt sind, indem Sie den Double Equals Operator verwenden. Und wenn ich die Eingabetaste drücke, werden
wir sehen, dass sie nicht a und B verschiedene Hundeobjekte sind, obwohl beide Objekte leer sind. Und um zu beweisen, dass beide diese Variablen Art von Hund sind, verwende
ich Pythons eingebaute Funktion L, gib es als Argument. Wie Sie sehen können, dass diese Variable auf
ein Objekt zeigt , das aus der Hundeklasse instanziiert wurde. Jetzt lassen Sie uns endlich eine echte Hundeklasse bauen und einige echte Hundeobjekte erstellen. Ich bin hier im Python Leerlauf, und ich werde damit beginnen, eine neue Klasse namens Hund zu definieren. Als nächstes tippe ich Spezies gleich Säugetier. Dies wird ein Klassenattribut für unseren Hund erstellen. Das bedeutet, dass jeder neue Hund, den wir erstellen, standardmäßig ein Säugetier sein wird. Aber jetzt möchte ich einige eindeutige Instanzattribute schreiben. Also werde ich der Klasse einen Initialisierer hinzufügen, indem ich meine Init-Funktion austippe. Und jetzt brauchen wir drei Parameter:
Selbst, Name und Alter. Denken Sie daran, dass wir keinen Wert für sich selbst liefern, aber wir müssen etwas mit diesen Namen und Altersparametern tun. Also sagen alle Python, dass wir sie einem neuen Objekt zuweisen möchten, das erstellt wird. Hier werden Selbstreferenzen auf das aktuelle Objekt erstellt. So self.name gleich Name,
bedeutet, den Namen Parameter Namen dieses Hundes zuzuweisen. Und das war's. Wir haben unsere Hundenklasse erstellt. Lass es uns wirklich runter benutzen. Wir erstellen eine neue Variable namens Tommy. Und das wird auf ein Hundeobjekt zeigen. Wir erstellen ein neues Objekt, indem wir den Klassennamen gefolgt von der Klammer eingeben, fast als ob es eine Funktion wäre. Wenn wir dies tun, wird Python tatsächlich den Initialisierer hinter den Kulissen aufrufen. Und so müssen wir unseren Namen und unsere Altersargumente angeben. Also hier alle den Namen Tommy und wir geben ihm ein Alter von fünf Jahren. Dann machen wir noch einen Hund namens Lily, und wir geben ihm ein Alter von sieben Jahren. Herzlichen Glückwunsch, wenn Sie mitverfolgt haben, haben
Sie gerade eine instanziierte Ihre First-Class erstellt. Im Moment haben wir zwei Hunde, einer namens Tommy mit einem Alter von fünf und der andere namens Lily mit sieben Jahren. Aber wie greifen wir tatsächlich auf die Daten innerhalb dieser Objekte zu? Um dies zu tun, können wir den Zugriffsmodifikator verwenden
, der in Python der Punkt ist. Also gebe ich eine Druckanweisung ein. Ich werde sagen, leer ist leer und leer ist leer. Und dann werde ich die DOD-Formationsfunktion für diese Zeichenfolge aufrufen, die es uns ermöglicht, diese Leerzeichen zu füllen. Da wir vier Leerzeichen haben, müssen in der Don-Format-Funktion für Argumente übergeben. Also werde ich Tommy Dot Name übergeben, Tommy Punkt,
Alter, Lily, nenn Lilly Dämmerungsalter nicht. Diese greifen auf alle Attribute in unseren beiden Objekten zu. Als nächstes sehen Sie, ob beide Hunde das Säugetierattribut haben. Ich werde tippen, wenn Tommy nicht Spezies entspricht der Zeichenfolge Säugetier, dann möchte ich leer drucken ist leer. Dann wie zuvor werde
ich diese Leerzeichen mit Tommys Namen und
Tommy Spezies mit der Punktformatfunktion füllen . Okay, lassen Sie uns Code ausführen. Und die obige Seite hier können wir genau sehen, was wir erwartet haben. Tommy ist fünf und Lily ist sieben, was von unserem ersten Print-Statement stammt. Und dann, weil Tom ein Säugetier ist, haben wir auch gesehen, dass Tommy ein Säugetier ist, das auf den Bildschirm gedruckt wird. Jetzt lasst uns die Dinge etwas ändern. Nachdem wir die neuen Objekte eines Hundes erstellt haben, ändern
wir ihre Attribute. Also werde ich ein paar Zeilen nach oben bewegen und ich werde Lily Punkt h gleich acht eingeben, und dann Tommy gemacht Spezies gleich Maus. Jetzt pausieren Sie dieses Video und schauen Sie sich diesen Code an und denken Sie darüber nach, was es drucken wird. In Ordnung, schauen wir uns mal an. Jetzt sehen wir, dass Tommy fünf ist und Lily acht ist. Das liegt daran, dass Lilys Alter geändert hat, nachdem wir das Objekt erschaffen haben. Und beachten Sie, dass Tom nicht mehr ein Säugetier ist. Das liegt daran, dass wir Tommy als Säugetier zu einer Maus ändern. Und wieder haben wir das getan, nachdem wir das Objekt erstellt haben. Wenn wir diesen Attributen einen Wert zuweisen, der Initialisierer nicht verwendet und das wird nur verwendet, wenn wir neue Objekte erstellen, nicht ihre Attribute ändern. Wenn Sie hier bemerken, sind
beide Doug-Objekte völlig unabhängig voneinander. Obwohl sie aus der gleichen Klasse kamen. Obwohl ich Tommy als Säugetier zu einer Maus ändere, ist
Lily immer noch ein Säugetier. Und das genau da ist nur Kratzer der Oberfläche der Macht der objektorientierten Programmierung. Im nächsten Video werden wir einen Blick auf Instanzmethoden werfen, was die ausgefallene Python Art ist, Klassenverhalten zu sagen. Wir sehen uns dort.
115. Methoden in einen a hinzufügen: Willkommen zurück zu unserer serien- und objektorientierten Programmierung in Python. Im letzten Video haben wir diese Dawn-Klasse hier erstellt, und wir haben einige Informationen über jedes unserer Hundeobjekte auf dem Bildschirm gedruckt. Wenn Sie sich erinnern, haben wir Türobjekte erstellt, die geöffnet, geschlossen und Protokolle sein könnten. Ich nenne diese Verhaltensweisen, nur um die Konzepte zu demonstrieren. Aber in Python werden diese tatsächlich Instanzmethoden genannt. Eine Methode ist nur im Grunde eine Funktion, die zu einer Klasse gehört. Es verwendet genau die gleiche Weise wie eine Funktion, außer wie der Initialisierer, müssen
wir einen Self-Parameter einschließen. Lassen Sie uns tatsächlich einige Instanzmethoden erstellen. Zuerst brauchen wir einen Weg für den Hund, um seine Attribute und eine schöne formatierte Art und Weise zu melden. Wir werden die neue Instanzmethode namens Beschreibung erstellen. Und denken Sie daran, dass wir den Self-Parameter hier einschließen müssen. Und jetzt geben wir zurück ein leeres ist leer Jahre alt, und wir werden die praktische Formatfunktion verwenden, um die Leerzeichen auszufüllen, die den self.name,
self.age als Argumente übergeben . Beachten Sie hier, wie wir nicht direkt auf die Konsole drucken. Stattdessen haben wir diese Methode, um
eine schöne formatierte Zeichenfolge mit einem Tanzattributen zurückzugeben . Also müssen wir später manuell ausdrucken. Als nächstes sollten wir einen Weg für den Hund hinzufügen, um etwas zu sprechen. Also lassen Sie uns eine neue Instanzmethode erstellen und wir nennen diese sprechen. Dies wird den Zellenparameter wie zuvor nehmen, aber ich möchte, dass ihr Job sagen kann, was wir ihm sagen. Und lassen Sie uns einen weiteren Parameter namens sound hinzufügen. Dies muss zur Verfügung gestellt werden, wenn wir diese Methode später aufrufen. Schließlich werden wir eine formatierte Zeichenfolge zurückgeben, in der der Hundepunktname den Klang sagt, den wir wie zuvor übergeben. Lassen Sie uns nun all diesen alten Code aus dem letzten Mal löschen und wir erstellen ein neues Dog Objekt namens Tommy mit dem Namen Tommy und einem Alter von sechs Jahren. Genau wie bei Attributen können
wir dot verwenden, um sofortige Methoden zuzugreifen. Jetzt könnten Sie versucht sein, Tommy Punktbeschreibung hier zu schreiben. Und obwohl das technisch nicht falsch ist, würde
das eigentlich nichts an die Konsole ausgeben. Das liegt daran, dass die DOD-Beschreibungsmethode
eine formatierte Zeichenfolge zurückgibt , anstatt sie direkt zu drucken. Und so wird dieser Code hier diese formatierte Zeichenfolge erhalten dann buchstäblich nichts damit tun. Wenn wir es tatsächlich sehen wollen, müssen
Sie die Rückkehr dieses Methodenaufrufs in die Druckfunktion übergeben. Nächster Slot, um unsere Speak-Methode zu verwenden, wird drucken Tommy schreiben nicht sprechen, und dann werden wir in Graph, Graph übergeben. Und jetzt, wenn wir den Code ausführen, werden
wir sehen, dass auf der rechten Seite haben wir Tommy ist sechs Jahre alt, gefolgt von Tommy Says Graph, Graph. Wie Sie sehen können, sind Instanzmethoden arbeiten und sie können sowohl Attribute zugreifen, die zum aktuellen Objekt
gehören, als auch neue Daten, die wir in Form eines Methodenparameters übergeben. Lassen Sie uns eine weitere Instanzmethode erstellen, die jedes Mal
aufgerufen wird , wenn der Hund Geburtstag feiert. Wir werden hier wieder in unsere Klassen einziehen und wir werden diese neue Methode Geburtstag nennen. Jetzt in der Methode Körper, Ich werde in Selbst Alter plus eins eingeben, die das Alter Attribut des Hundes um eins erhöht. Mit anderen Worten, jedes Mal, wenn diese Methode aufgerufen wird, wird
das interne Altersattribut für Hunde um eins zunehmen. Also, jetzt ganz unten, kann
ich Tommy Dot Geburtstag sagen und dann kann ich oh,
Tommy DOD Beschreibung wieder drucken . Beachten Sie, dass wir keinen Geburtstagsmethodenaufruf in die Druckfunktion einfügen mussten. Dies liegt daran, dass die Geburtstagsfunktion tatsächlich keine Daten zurückgibt, die wir drucken können. Es ändert nur die internen Altersattribute von unserem Hund. Also, wenn ich den Code ausführe, können
wir sehen, dass Tommy sechs Graphen Graphen ist und jetzt Tommy sieben Jahre alt ist. An diesem Punkt sind wir fast am Ende unseres OOP-Tutorials, aber ich muss Sie warnen, der letzte Teil kann ein wenig schwer zu erfassen sein, wenn Sie nicht bereits ein grundlegendes Verständnis von allem
haben, was wir bisher behandelt haben. Ich würde dringend vorschlagen, diese Konzepte zu praktizieren, indem Sie Ihre eigenen Python Klassen
erstellen und sie dann instanziieren. Denken Sie daran, eine Klasse kann praktisch jedes Substantiv sein. Also schauen Sie sich um und sehen Sie, ob Sie etwas in
Ihrem Code modellieren können und sich einige Fragen stellen können, wenn Sie Ihre Klasse entwerfen, welche Attribute als Objekt alle Objekte standardmäßig den gleichen Wert für dieses Attribut haben? Oder sind sie alle von der Zeit, als sie erschaffen wurden, bekannt? Welche Verhaltensweisen zeigt das Objekt tatsächlich? Und wie könnten diese Verhaltensweisen das Attribut des Objekts ändern? Wenn Sie wirklich für eine Herausforderung bereit sind, erstellen Sie eine Klasse, bei der eines seiner Attribute tatsächlich ein anderer benutzerdefinierter Typ ist, den Sie definieren, genau wie wir es bei der Tab-Klasse getan haben, die ein Seitenobjekt speichert. Wenn Sie das tun können, dann sollten Sie auf jeden Fall
ein solides Verständnis für dieses Material haben und Sie werden alle bereit sein, weiterzumachen. Und auf der anderen Seite, wenn Sie immer noch damit zu kämpfen
haben, fühlen Sie sich überhaupt nicht schlecht. Wie ich schon am Anfang erwähnt habe, ist
dies ein sehr schwieriges Konzept für viele neue Programmierer, einschließlich mich selbst. Es erfordert, dass Sie über Ihre Software in
einer Weise nachdenken , die Ihnen wahrscheinlich völlig fremd ist. Und das ist nicht etwas, das leicht zu meistern ist. Wenn Sie über etwas verwirrt sind oder Sie es einfach vergessen haben, sich frühere Teile des Abschnitts erneut ansehen. Gönnen Sie sich viel Zeit zum Üben. Und wenn Sie das Gefühl haben, dass Sie das Konzept verstanden haben, kommen Sie zurück und erfahren Sie mehr über das letzte Konzept namens Vererbung. Danke fürs Zuschauen.
116. Einführung in die OOP: Willkommen zurück zu unserer Serie über objektorientierte Programmierung in Python. Im letzten Video haben wir über Instanzmethoden gelernt, die verwendet werden, um
die Verhaltensweisen darzustellen , sind Objekte die ganze Idee von Klassen, die Objekte erstellen, kleine Bündel von zugehörigen Daten und Aktionen sind eine wirklich mächtige Sache. Aber es ist auch anfällig für schlechte Codierungspraxis, die als trocken bezeichnet wird. Dry steht für nicht wiederholen Sie sich selbst. Dies besagt, dass wir, wenn
wir Code schreiben, vermeiden sollten, die gleichen Codeblöcke zu kopieren und einzufügen, wann immer möglich. Wenn Sie nicht-triviale Python Programmierung ausführen und Sie finden, dass Sie Attribute und Instant-Methoden zwischen vielen verschiedenen Klassen kopieren und
einfügen. Das bedeutet, dass es wahrscheinlich an der Zeit ist, zu überdenken, wie Sie Ihre Software entwerfen. Werfen Sie einen Blick auf dieses Beispiel. Nehmen wir an, wir schreiben ein Programm, das viele verschiedene Leute konstruieren und
pflegen soll . Wie Sie wahrscheinlich erraten können, wird
jede Person ein Objekt sein. Aber hier ist die Hütte. Wir können Allgemeinmenschen Objekte haben, und dann können wir spezielle Art von Personen haben, die ein Baby genannt werden. Ein Baby kann alles tun, was ein normaler Mensch tun könnte, außer es könnte Dinge ein bisschen anders machen wie reden. Darüber hinaus kann es auch
einige einzigartige Verhaltensweisen haben , die allgemeine Person nicht hat,
wie die Fähigkeit, ein Nickerchen zu machen, wann immer es will. Ein Baby zu sein, klingt großartig. Wie Sie vielleicht schon erraten haben, brauchen wir hier zwei verschiedene Klassen, einen für die Person und dann einen für das Baby. Sie werden hier feststellen, dass beide Klassen genau gleich sind, aber die Baby-Klasse hat jetzt ein weiteres Verhalten namens Nickerchen. Jetzt könnten wir unsere Software auf diese Weise entwerfen und es würde gut funktionieren. Aber denken Sie daran, ein Baby muss in der Lage sein, alles zu tun, was eine allgemeinere Person tun kann, wenn auch manchmal etwas anders. Dies bedeutet, dass unsere Baby-Klasse wird genau die gleichen Instanzmethoden haben, die eine Person Klasse hat in den meisten dieser Methoden wird genau gleich aussehen. Aber was passiert jetzt, wenn wir eine Änderung an der Person-Klasse vornehmen wollen? Wenn wir die Aktion von etwas wie Springen zu Spinnen ändern, dann müssen wir auch die Action-Methoden des Babys ändern. Und wenn wir eine andere Klasse wie Erwachsene oder Teenager hinzufügen, dann müssten wir auch diese beiden beibehalten. Kopieren von Code könnte die Dinge im Moment einfacher machen, aber es kann unsere Software zu einem späteren Zeitpunkt wirklich schwierig machen, vor
allem, wenn sie wächst. Um dieses Problem zu lösen. Machen wir einen Schritt zurück und denken über die Beziehungen, die zwischen diesen beiden Klassen bestehen. Ich denke, du würdest zustimmen, dass ein Baby eine Person ist, oder? Aus diesem Grund hat es das gleiche Verhalten wie die Person-Klasse. Was wäre, wenn es eine Möglichkeit gäbe, dass die Baby-Klasse automatisch jedes Attribut und Instanzmethode von der Person erbt, aber dann ändern Sie sie ein wenig, um die Bedürfnisse der Babyklasse zu erfüllen. Dann könnten wir sogar unser eigenes Verhalten wie ein
Nickerchen hinzufügen , das exklusiv für die Baby-Klasse wäre. Dies hier wird als Objekt-Vererbung bezeichnet. Und wenn es richtig verwendet wird, macht es die Verwaltung vieler ähnlicher Klassen viel einfacher. Vererbung ermöglicht es uns, eine Klasse, die untergeordnete Klasse
oder die abgeleitete Klasse oder einer anderen Klasse, die die übergeordnete Klasse oder die Basisklasse genannt wird, zu machen. In Python erbt die untergeordnete Klasse automatisch jedes Attribut und jede Instanzmethode von der übergeordneten Klasse. Aber wir können auch bestimmte Attribute oder Methoden neu definieren. Also, wenn wir wollen, dass unser Baby-Objekt anders spricht, als eine Person Objekt würde. Können wir das tun? Wenn wir wollen, dass unser Babyobjekt die Fähigkeit hat, Nickerchen zu haben, können
wir das auch tun. Und wenn wir brauchen, um unsere Person drehen statt springen, können
wir die Personenklasse und
die Baby-Klasse ändern , die automatisch mit diesen Änderungen aufnehmen wird. Es ist nicht notwendig, Code an mehr als einem Ort zu bearbeiten. Um die Vererbung zu verstehen, Werfen Sie einen Blick auf dieses Diagramm auf der rechten Seite. Und ganz oben auf dem Chart ist Objekt. In vielen Sprachen ist Python enthaltenes Objekt die übergeordnete Klasse aller Klassen in der Sprache. Dies umfasst Bauklassen wie die INT oder die STR, sowie alle benutzerdefinierten Klassen, die wir erstellen. In diesem Diagramm können Sie sehen, dass Baby von Person erbt, die wiederum von Objekt erbt. Wie wir später sehen werden, sieht
Python jedes Babyobjekt, das wir erstellen, als auch eine Person und ein Objekt.
117. Inheritance: Willkommen zurück zu unserer Serie über objektorientierte Programmierung in Python. Im letzten Video haben wir über die Idee der Vererbung gelernt,
die es uns ermöglicht, eine untergeordnete Klasse zu definieren, die automatisch Attribute und Methoden von ihrer übergeordneten Klasse
geerbt hat. Sehen wir uns nun an, wie die Vererbung in Aktion funktioniert. Also höre ich von Python Editor und das erste, was wir tun werden, ist eine neue Klasse namens Person zu definieren. Ich werde sehen, dass die Beschreibung gleich allgemeine Person ist, die unser einziges Klassenattribut sein wird. Jetzt werden wir unsere Initialisierer-Methode erstellen und es wird ihm Parameter von Name und Alter geben. Wie üblich legen wir die Attribute gleich diesen Parametern fest. Jetzt wollte ich ein paar Verhaltensweisen finden, die jeder Mensch haben wird. Ich erstelle eine neue Instanzmethode namens Speak, und der einzige Parameter ist selbst. Und ich werde diesen Ausdruck meines Namens ist leer und ich bin leer Jahre alt. Um diese Lücken zu füllen, verwende
ich die Formatfunktion und gebe sie im self.name weiter. Selbst.Alter ist Argumente. Als nächstes möchte ich, dass unsere Person in der Lage ist, alles zu essen, was wir ihnen geben. Also werde ich hier sagen, Def, essen Selbstnahrung, Semikolon, und dann drucke ich ein leeres, jedes leeres. Und um diese Leerzeichen auszufüllen, wird sowohl Selbstnamen als auch unseren Self-Food-Parameter übergeben. Lassen Sie uns schließlich unserer Person die Möglichkeit geben, eine Aktion auszuführen. Also werde ich eine letzte Instanzmethode namens action erstellen. Und wenn das aufgerufen wird, sagen
alle leere Sprünge und ich werde mich selbst benennen, um das Leerzeichen zu füllen. Okay, jetzt, da wir unsere allgemeine Personenklasse haben, erstellen
wir eine Unterklasse namens Baby. Um dies zu tun, werde ich Baby wie zuvor eingeben, aber dann werde ich in Klammern setzen. Innerhalb dieser Klammern müssen klären, was die Elternklasse des Babys sein wird. Also tippen wir persönlich ein. Und jetzt technisch gesehen, wenn ich Pfade in den Klassenkörper schreiben würde, dann wird unser Baby nutzbar sein, dann wird unser Baby nutzbar sein,
aber sie werden genau dasselbe tun, wie die Person. Also wollen wir das ändern. Zuerst werde ich unser Beschreibungsklassenattribut neu definieren. Ich setze es auf etwas, das Baby mag, und das sollte funktionieren. Diese Neudefinition hier wird als Überschreiben bezeichnet, da jedes Babyobjekt, das wir erstellen, stattdessen eine bestimmte Beschreibung mit
einer Beschreibung verwendet, die automatisch von der Personenklasse geerbt wird. Um dies zu tun, gebe ich def speak with self als Parameter ein. Und dann sage ich „Mama drucken“, was nur ein paar Babyspender ist, als ich es mir ausgedacht habe. Auf diese Weise, wo wir sprechen Methode auf ein Baby nennen. Es wird sagen, dieses g Kauderwelsch anstelle von dem, was die Elternklasse gesagt hätte. Schließlich möchte ich diesen Babys und exklusive Funktionalität geben. Lassen Sie uns dem Baby die Möglichkeit geben, zu schlafen, wann immer es will. Alle sagen def, Nickerchen mit einem Umfang von Selbst. Und dann schreibe ich leer, macht ein Nickerchen. Und anstelle des Rohlings sage
ich Selbstname. Jetzt wird jedes spezifische Babyobjekt, das wir erstellen, die Fähigkeit haben zu Nickerchen, aber ein allgemeineres Personalobjekt wird es nicht. Alles, was wir tun müssen, ist, diese Klassen zu instanziieren und sie an die Arbeit zu bringen. Ich erstelle ein neues Personenobjekt namens Person, und er wird im Alter von 30 Jahren den Namen John haben. Dann möchte ich alle diese Instanzmethoden der Person aufrufen. Also werde ich Person dot sprechen in Person dot essen eingeben. Und wir geben ihm Fisch. Und schließlich Person.Alle Maßnahmen, um ihn zu sehen springen. Lassen Sie uns nun ein Babyobjekt namens Baby erstellen. Ich muss dem Initialisierer für das Baby einen Namen und ein Alter geben. Aber wenn Sie schauen, Baby hat nicht wirklich einen Initialisierer. Das liegt daran, dass es automatisch von der Personenklasse geerbt wurde. Denken Sie daran, dieses Baby gilt auch als eine Person und als solches muss
es auch die sofortigen Attribute der Person ausfüllen. Also geben wir diesem Baby einen Namen Van ISIL und ein Alter von 1 Jahren. Dann werden wir die gleichen Instanzmethoden unseres Babyobjekts nennen. Ich drucke sowohl die Beschreibungen unserer Person als auch die Beschreibung des Babys aus. Lassen Sie uns den Code ausführen. Diese ganze Übung zeigt uns, wie wir eine untergeordnete Klasse oder
eine abgeleitete Klasse definieren können , die automatisch alles von der übergeordneten Klasse oder der Basisklasse
erbt. Wir können Attribute und Methoden wie Beschreibung überschreiben und sprechen. Und wir können sogar unsere Kind-Klasse erweitern, um neue Funktionen
hinzuzufügen, wie wir es mit der NAT-Methode getan haben. Nur um dies noch klarer zu machen, werde
ich zu einer neuen Zeile wechseln und Person Punkt eingeben. Wenn Sie sich erinnern, ist der Don wie der Zugriffsmodifikator, der
uns erlaubt , auf Attribute zuzugreifen und Methoden eines Objekts aufzurufen. Da dieses Objekt eine Person ist,
beachten Sie, wie intellisense die NAT-Methode nicht sieht. Das liegt daran, dass es spezifisch für die untergeordnete Klasse ist und als solche nur untergeordnete Objekte sie haben. Wenn ich dies jedoch lösche und ich zu Baby wechselte und ich Punkt trage, können
Sie sehen, dass wir Zugriff auf alles haben, was in
der Person-Klasse definiert ist, sowie auf die spezifische Net-Methode. Aber was ist, wenn uns gesagt wird, dass wir eine Änderung an der Aktionsmethode vornehmen müssen, möchten wir
vielleicht jetzt, dass beide Leute sich drehen anstatt zu springen, anstatt Code in mehreren verschiedenen Klassen ändern zu müssen. Alles, was wir jetzt tun müssen, ist, das Wort springt auf das Wort Spins in unserer Personenklasse zu ändern. Wenn wir diesen Code ausführen, werden
Sie feststellen, dass sowohl John als auch Bands sich drehen, anstatt zu springen. Und wir mussten keine einzige Modifikation an der Babyklasse vornehmen. Dies ist einer der Gründe, warum die Vererbung so mächtig ist. Denken Sie daran, wie früher ich gesagt habe, dass
Python hinter den Kulissen jedes Objekt als Typobjekt sieht. Nun, da wir unsere Kurse codiert haben, kann
ich Ihnen zeigen, dass das wahr ist. Um zu beweisen, dass ein Baby eine Person ist, werde
ich das Ergebnis dieser speziellen Funktion namens ist Instanz ausdrucken. Diese Funktion wird uns sagen, dass das spezifische Objekt ein bestimmter Typ ist. Diese Funktion benötigt zwei Argumente, also werde ich es im Babyobjekt für das erste übergeben und möchte überprüfen, ob das Babyobjekt eine Instanz von Person ist. Wenn ich den Code hier ausführe, sehen
Sie, dass wir auf der rechten Seite wahr sehen. Und das liegt daran, dass ein Baby eine Person ist, das Babyobjekt vom Typ Baby, sondern auch die Art der Person, weil es alles aus der Personenklasse erbt. Jetzt sehen wir, ob unser Babyobjekt vom Typ Objekt ist. Ich ändere das Wort Person hier in Kleinbuchstaben Objekt. Und wenn wir diesen Code ausführen, werden
wir sehen, dass unser Baby tatsächlich ein Objekt ist. Weil Baby eine Person ist und eine Person vom Objekt erbt. Daher erbt Baby von Objekt zu wie ich zuvor erwähnt habe, jede Klasse in Python erbt vom Objekt. Und das müssen wir eigentlich nicht innerhalb der Klassendeklaration schreiben. Der Grund dafür, dass die Objektklasse selbst vorhanden ist, liegt außerhalb des Anwendungsbereichs dieses Tutorials. Aber für jetzt, nur wissen, dass unsere Baby-Objekte sind technisch gesehen als ein Baby, eine Person und ein Objekt. Und das ist eine kurze Einführung in die Vererbung. Wir haben nicht alles abgedeckt, aber das gibt Ihnen eine allgemeine Liste, wie die Vererbung funktioniert. Wie Sie sehen können, kann die Vererbung äußerst vorteilhaft sein, aber wenn sie nicht richtig verwendet wird, kann
es mehr Kopfschmerzen als alles andere sein. Vererbung ist eine der grundlegenden Säulen der objektorientierten Programmierung, aber es ist nicht die einzige. Und es gibt noch mehr an der Vererbung, die wir hier nicht abgedeckt haben. Aber dieses Tutorial konzentriert sich mehr auf die grundlegenden Prinzipien von OOP
anstatt irgendwelche spezifischen Merkmale der Vererbung, Polymorphismus, Kapselung. O p ist ein riesiges Thema und das ist schwer zu meistern. Aber hoffentlich haben Sie jetzt zumindest eine grundlegende Wertschätzung dafür wie groß Software mit Klassen und Objekten gestaltet ist. Meinung nach wird das Programmieren viel mehr Spaß mit dem Verständnis von OOP. Weil Sie über das Schreiben von trivialen Programmen wie einem Zahlenratespiel hinausgehen und mit Frameworks und Bibliotheken
wie Django und Map Plot lib, Happy Coding, echte Software schreiben können.
118. Script, Module, Pakete und Bibliotheken 2022: Python verwendet viele ausgefallene Terminologie, mit denen
Sie möglicherweise nicht vertraut sind, wenn Sie noch nicht
mit der Programmierung vertraut oder aus
einer anderen Sprache kommen. Vor Python war mein
Hintergrund hauptsächlich in Pfund und Microsofts
Dot NET Framework. Ich erinnere mich dass ich versuchte Python
zu lernen, aber
von all diesen Schlagwörtern verwirrt war. Mein Ziel in dieser Lektion
ist es, etwas davon
zu klären , damit es für Sie später nicht so
verwirrend ist. Python-Skript ist am besten
als Python-Datei definiert , die
Befehle und logische Reihenfolge enthält. Damit dies als Skript
betrachtet wird, muss
das Programm etwas
tun, wirklich alles, wenn es durch den
Python-Interpreter
ausgeführt wird. Um dies besser zu verstehen, schauen Sie sich
diese beiden Programme an. Beide Programme enthalten
eine Funktion, die
die Summe zweier Werte zurückgibt. Allerdings ruft nur das Programm
oder das Recht diese Funktion
tatsächlich auf
und druckt ihr Ergebnis aus. Die Datei auf der rechten Seite
soll direkt ausgeführt werden. Wir können also sehen, dass
es ein Python-Skript ist. Auf der anderen Seite
sieht das
Programm auf der linken Seite nicht so aus, als wäre es eigentlich
dazu gedacht, irgendetwas zu tun. Das Ausführen dieser Datei führt
zu keiner Art von Ausgabe, da die Funktion
nie aufgerufen wurde Sie
soll nicht direkt ausgeführt werden. Die Datei auf der linken Seite ist besser als Modul
eingestuft. liegt daran, dass wir es in
andere Dateien importieren
können , um seine Klassen,
Funktionen, Variablen
und andere Mitglieder zu
nutzen . Es ist definiert. Ich werde das Programm
auf der rechten Seite ändern , damit
wir
es,
anstatt die Funktion „Klammern hinzufügen“ zu definieren, es aus dem
Modul auf der linken Seite importieren. Dies hat den Effekt, dass
die Additionsfunktion links für
das Skript auf
der rechten Seite zugänglich ist. So lange Kurzskripte sollen direkt ausgeführt werden, während Module importiert werden
sollen. Skript enthält oft Anweisungen außerhalb des Geltungsbereichs
einer Klasse oder Funktion. Während Module, um
Klassen, Funktionen,
Variablen und andere Mitglieder
für die Verwendung in Skripten zu finden ,
Variablen und andere Mitglieder , die wichtig sind. Das Wort Skripte und Module werden oft austauschbar
verwendet. Seien Sie sich also bewusst,
dass andere Personen sie auf eine
Weise verwenden , die diesen Definitionen nicht strikt
folgt. Pakete sind eine
Sammlung verwandter Module. Ein Paket kann ein
einzelnes Python-Modul sein, aber es handelt sich
meistens um eine Sammlung
mehrerer verwandter Module
, die gebündelt werden. Dies ist das
Datum-Util-Paket, das die Durchführung erweiterter
datenbezogener Operationen
ermöglicht. Es ist in einem Ordner
namens date util gebündelt. Im Inneren befinden sich eine Reihe
einzelner Module
sowie
Ordner mit anderen Modulen, sowie
Ordner mit anderen Modulen die
in Ihre Python-Skripte importiert werden können. Dies sind Module
, weil sie
alleine
nichts Interessantes machen. Wenn Sie eines in
Ihr eigenes Skript importieren , passiert wirklich
nichts. Sie müssen etwas verwenden, das in den Modulen
definiert ist, z. B. eine
Klassenfunktion oder eine Variable. Diese spezielle Intel-Datei
teilt Python mit, dass es sich um
ein Paket handelt, das möglicherweise
mehr Module enthält , die
in Unterordnern verschachtelt sind. Wir können nicht über
Bibliotheken sprechen, ohne Python
Standard Library zu
erwähnen. Die Python-Standardbibliothek ist eine große Sammlung
von Modulen und Paketen, die in
Ihrer Python-Ausgabe
gebündelt sind . Das bedeutet, dass
Sie sie von nirgendwo
herunterladen müssen . Sie können sie einfach in
Ihre Skripte importieren und sofort
verwenden. Date util ist ein Beispiel für
ein Standardbibliothekspaket, aber es gibt auch andere
wie E-Mail und JSON. Der Schlüssel zum Mitnehmen
ist, dass vieles
davon in gewissem Maße subjektiv
ist. Skripte sind ausführbare
Python-Programme , die beim Ausführen etwas tun. Module oder Python-Dateien, die
in Skripte und
andere Module importiert werden sollen , damit sie definierte
Mitglieder wie Klassen und
Funktionen sind , können verwendet werden. Pakete sind eine Sammlung
verwandter Module, die darauf abzielen, ein gemeinsames Ziel
zu erreichen. Schließlich ist die
Python-Standardbibliothek eine Sammlung von Paketen und Modulen
, die für den
Zugriff auf integrierte
Funktionen verwendet werden können . In einer idealen Welt würden
Sie alle
notwendigen Module
ohne Probleme in
Python-Skripte importieren . Leider ist das
oft nicht der Fall. Im nächsten Video erhältst du eine
Einführung in Module
und ich zeige dir, wie
man ein Modul schreibt. Danke fürs Zuschauen.
119. Ein Modul schreiben: In diesem Video erhalten Sie eine Einführung in die
Module, indem Sie ein eigenes kurzes Modul schreiben. Es gibt drei verschiedene Arten von Modulen in Python. Modul kann in Python selbst geschrieben werden, aber Module können auch in C geschrieben und dann dynamisch zur Laufzeit geladen werden. Und dann gibt es auch eingebaute Module, die
intrinsisch im Interpreter selbst enthalten sind . Und vielleicht haben Sie bereits ein paar von ihnen in der Vergangenheit importiert, wie Mathematik oder das Importieren von zufälligen Datumslinien. Für dieses Video lasse ich Sie die erste Option ausprobieren ein einfaches Modul in Python selbst
schreiben. Lassen Sie mich, dass Sie das ausprobieren und einen Redakteur. Zunächst einmal machen wir eine neue Datei und nennen sie mod dot PY. Mod dot PY ist eine Standard-Python Datei. Innerhalb davon werden Sie eine String-Objekte
mit kleiner Liste erstellen und eine Funktion definieren. Nennen wir es einfach print_i. Pretty nimmt ein Argument namens ARG und druckt den Druck mit einer F-Zeichenfolge. Es gab eine Argumentanweisung, dass das F dem Bogen entspricht, den Sie eingeben die Variable in der F-Schrumpfung
aufruft. Dann mach eine Klasse. Du nennst es „Hauptstadt edel“. Da ist deine Klasse. Und gerade jetzt tut diese Klasse nichts. Es geht einfach vorbei, speichern Sie die Datei und führen Sie sie aus. Was Sie dann von der Python -Shell aus tun können, ist der Import. Da Sie sich im selben Verzeichnis befanden, in dem Sie die Datei erstellt
haben, können Sie den Importmodus sagen. Okay, was hat das gemacht? Durch den Import von Mod? Sie haben alle Objekte importiert, die Teil dieses Codes waren. Du könntest sagen, OK, nun, was ist das? Mod dot a will mob don a. Ist das Lyse früher für mod dot S. Nun, das ist eine Zeichenfolge. Wenn Sie Drucken verwenden wollten, könnten Sie sagen, okay, model.predict ist jetzt auch verfügbar. Das Argument ist Was ist oben in print_i druckt aus, dass der ARG gleich zwei ist, was los ist? Und Sie können ein neues Objekt namens x mit MOD dot stilvoll machen. Was ist x? Nun, x ist ein klassisches Objekt aus dem Modul mod. Cool. Jetzt haben Sie Zugriff auf all diese verschiedenen Objekte, indem Sie dieses Modul importieren, was eine Menge Wiederverwendbarkeit von Code ermöglicht. Sie nun etwas importiert haben, konzentrieren
Sie sich im nächsten Video darauf, wo der Interpreter nach den Dateien sucht, die Sie importieren.
120. Der Suchpfad: In diesem Video werden Sie den Modul-Suchpfad erkunden. Also, wo Sie ein Modul importieren können. Wenn der Interpreter die Importanweisung ausführt, sucht
er nach dieser Datei. In Ihrem Beispiel hier war es math.pi. Es wird nach diesem und ganzheitlichen Verzeichnissen,
den Möglichkeiten oder dem aktuellen Verzeichnis suchen ,
was bedeutet, von wo das Import-Skript ausgeführt wurde. Und es sucht auch in der Python Pfad-Umgebungsvariablen, die eine Liste von Verzeichnissen hat. Wenn Sie Python installieren, gibt es eine Reihe von Verzeichnissen, die als Teil der Python-Rate konfiguriert werden. Auch wenn Sie aus Baumodulen importieren
, kommt der Code von dort her. Und es gibt eine Möglichkeit, all diese zu sehen,
um diese Liste von Verzeichnissen zu sehen. Lassen Sie mich Ihnen zeigen, dass es im Code im Python 39-Verzeichnis eine math.pi-Datei
gibt. Wenn Sie Ihre math.pi-Datei in diesem Verzeichnis gespeichert
haben, können Sie import in mod eingeben. Die math.pi Datei ist genau da. Großartig. So ist jetzt Ahmad don a verfügbar, MA dot S ist verfügbar. Ok. Wenn Sie alle Orte sehen möchten, von denen importiert werden kann. Derzeit gibt es ein Tool namens
SYN-Modul , das Teil der Bibliothek ist, die Sie importieren können. Und das kann Ihnen den aktuellen Python Pfad und
die Verzeichnisse zeigen , die in Python eingerichtet wurden, das installiert wurde, importieren Sie SY S, ein Modul, das systemspezifische Parameter und Funktionen
enthält, auf die Sie zugreifen können. Und einer davon ist syst dot path. So syst dot path wird Ihnen eine Liste zeigen. Hoppla, ich habe den Punkt vergessen. Hoffentlich können Sie hier mit den eckigen Klammern sehen, dass dies alle Objekte sind nach denen
Ihr Interpreter suchen wird, wenn Sie das Wort
importieren eingeben und dann nach einem bestimmten Modul suchen, das Sie importieren. Dies ist das Standardverzeichnis, in dem Sie sich befinden, das aktuelle Verzeichnis. Also würde es genau dort suchen. Dann geht es von dort in eine Version von Python, die Sie installiert haben. Ich werde hier raus gehen. sind also alle Speicherorte, die Sie eine Datei speichern könnten, entweder im aktuellen Verzeichnis oder in einem
dieser anderen Verzeichnisse, die Sie nach dem Ausführen des syst dot path sehen.
Was ist, wenn Sie Speicherorte hinzufügen möchten, damit es importiert werden kann? Das ist eine Möglichkeit,, um diesen Punkt zu beweisen. Ich werde machen, dass dies nicht das aktuelle Verzeichnis ist. Nun, wenn Sie importieren und dann mod eingeben würden, wird
es sagen, dass der Zeitplan nicht gefunden wird,
es ist derzeit in diesem Verzeichnis oder in einem
der anderen Orte, die, wenn wir sys importieren und diese.tab verwenden, nicht in einem dieser -Speicherorte, die importiert werden, in. Wo sollten Sie also Ihre Moduldatei ablegen um sicherzustellen, dass Ihr Skript, von dem Sie den Importbefehl verwenden, es eingeschränkt hat. Sie haben ein paar Möglichkeiten. Sie könnten es im selben Verzeichnis ablegen. Das Eingabeskript wird in geschrieben, was normalerweise als aktuelles Verzeichnis betrachtet wird. Sie können die Umgebungsvariable Python Pfad ändern
oder sie in einem der Verzeichnisse einfügen, die sich bereits in diesem Python-Pfad befinden. Sie können es auch in einem der Verzeichnisse ablegen, die als Teil Ihrer Python Rate konfiguriert
sind. Nun gibt es eine andere Lösung, die zur Laufzeit durchgeführt werden kann. In diesem Fall könnten Sie die SIS-Pfadliste tatsächlich ändern. Um dies zu tun, verwenden Sie eine Anweisung anhängen, genau wie Sie von jeder anderen Liste abhängen würden. In diesem speziellen Fall können Sie
vom festgelegten Pfad aus anhängen. Und als Argument geben
Sie eine rohe Zeichenfolge ein. Sie beginnen also mit r und dem einfachen Anführungszeichen. Jetzt benötigen Sie den Verzeichnispfad, den Sie einfach eingeben können. Wenn ich meine Anführungszeichen dort schließe, ist
dies ein Namensfehler. Kannst du erraten, warum? liegt daran, dass sie das sys-Paket nicht definiert haben. Also lassen Sie uns importieren Punkt sagen, dass diese Codezeile erneut ausführen. Also, was hat das getan? Nun, wenn Sie sich diesen syst dot Pfad jetzt am Ende ansehen, hat
er diesen bestimmten Ort,
dieses Verzeichnis in den Pfad umgedreht . Wenn Sie import mod eingeben würden, kann
er es jetzt in importieren. Großartig. Eine Sache, die Sie sich jedoch merken müssen, wenn Sie diese Speicherorte anhängen, sind jene Verzeichnisse,
in denen Sie sie importieren können, die nur für diese bestimmte Sitzung dauert. Wenn Sie also beenden und erneut beginnen, um Mod zu importieren, ist
es nicht verfügbar, denn wenn Sie sys importieren und seinen Pfad erneut verwenden, können
Sie sehen, dass es nicht mehr Teil dieser Liste ist. Das müsste also Teil Ihres Eingabeskripts sein. Dann fügen Sie den SIS-Pfad an das Verzeichnis anhängen. Im nächsten Video wirst du einen tieferen Einblick in diese Importaussage nehmen.
121. Die import: In diesem Video werden Sie einen tiefen Einblick in die Import-Anweisung nehmen. Schnelle Formulare. Kann die import-Anweisung in ihrer einfachsten Form annehmen? Es ist wie das, was Sie bereits im vorherigen Video verwendet haben, importieren und dann den Namen des Moduls. In diesem Fall ist der Inhalt des Moduls nicht direkt für die Farbe zugänglich, daher müssen Sie die Punktnotation verwenden. Das Modul erstellt einen separaten Namespace. Lassen Sie mich Ihnen zeigen, wie das aussieht. Jetzt haben Sie dies bereits praktiziert, aber Sie können import mod eingeben und dann Ihr Modul importieren. Der Trick dazu ist, dass sich die Objekte, die Sie
bereits importiert haben , nicht im gleichen lokalen Namespace befinden, sondern
sich nicht in der lokalen Symboltabelle befinden. Wenn Sie also den Buchstaben a eingeben und dann Objekt nicht verfügbar ist, ist
S nicht verfügbar. Print_i, jedes dieser Objekte ist nicht verfügbar. Sie müssten zuerst eine Don Notation verwenden, die mit
dem Namen des Moduls beginnt , nachdem Sie das DOD hinzugefügt haben. Jetzt kann ich auf eine zugreifen oder Sie können auf s oder sogar print_i zugreifen. Als Anmerkung, Sie können mehrere Module gleichzeitig importieren, einfach ein Komma zwischen den Namen der einzelnen. Alternativ können einzelne Objekte aus dem Modul wie
folgt importiert und dann der Name des Moduls importiert werden, und dann werden die Objektnamen importiert. Und dann würden Sie die Objektnamen verwenden, in denen Sie mehrere mit Kommas dazwischen
verwenden können. Die einzelnen Objekte sind direkt für die Farbe zugänglich, dann werden sie direkt in die Farbsymboltabelle importiert,
was bedeutet, dass Sie den Namespace zu diesem Zeitpunkt nicht trennen müssen. Lassen Sie mich Ihnen zeigen, wie das aussieht. Diese wurden nun aus der lokalen Symboltabelle importiert. S ist tatsächlich verfügbar und so ist das Drucken
im lokalen Namespace nicht erforderlich, dass Sie die Punktnotation verwenden. Es muss jedoch vorsichtig sein, wenn Sie ein Objekt a erstellen würden,
und sagen wir, a hat ein paar Strings in einer Liste. Es gibt eine. Aber wenn Sie ein von Ihrem Knotenmodul importieren, was passiert mit dem vorhandenen lokalen a? Nun, es wurde überschrieben, und so erzeugt dies eine Kollision, wenn Sie so wollen, das vorhandene Objekt überschreiben. Es gibt also eine Notwendigkeit, vorsichtig mit dem Namespace hier in einfachen generischen Namen zu sein. Jetzt ist es auch möglich, alles aus einem Modul auf einmal zu importieren. In diesem Fall wird es von und dann der Name des Moduls importiert, und dann ein Sternchen. Sie haben dies wahrscheinlich schon in einem oder zwei Skript gesehen, dass dieser Ort alle Namen der Objekte in der lokalen Symboltabelle ist. Das einzige, was nicht als irgendetwas importiert wird, das mit einem Unterstrich beginnt, hält es privat für das Modul selbst. Dies wird nicht unbedingt empfohlen, es sei denn, Sie kennen alle Namen, die nicht in Konflikt stehen oder vorhandene Namen überschreiben, können
Sie Probleme haben. Dadurch werden alle benannten Objekte aus dem Modul in die lokale SymbolTable übernommen. Also jetzt Klassen dort. Das String-Objekt S. Ich werde wieder beenden. Sie können auch einzelne Objekte haben und sie dann in einem
alternativen Namen benannt haben , der wie folgt aus dem Modulimport aussehen würde, unabhängig von dem Namen des Objekts. Und dann als das, was Sie möchten, dass das Objekt umbenannt werden, da Sie dies mehrmals tun können, was es ermöglicht, die Namen direkt in die lokale SymbolTable zu platzieren. Daher würden Konflikte mit vorhandenen Namen vermieden. Sie müssen immer noch vorsichtig sein, was auch immer Sie als alternative Namen wählen. In diesem Beispiel haben Sie immer noch lokale Variablen mit dem Namen a und eine andere mit dem Namen S, bei der es sich um eine Zeichenfolge handelt. Hier sind die beiden Objekte a und als. Wenn Sie also a und S aus Ihrem Modul importieren würden, würde
es über diese beiden schreiben. Und was Sie tun können, ist von einem Mod-Import sagen zu fragen, geben Sie ihm einen neuen Namen, vielleicht nennen Sie es nur als String. Und a ist eine Liste. Also wieder, Sie können dieses Komma verwenden, um mehrere Importe auf einmal durchzuführen. So ist jetzt ein immer noch da und S ist immer noch da. Aber string ist, wo Sie es importieren. Und eine Liste ist auch das, was Sie sie aus dem Modul importieren. Eine weitere Möglichkeit besteht darin, das gesamte Modul unter einem alternativen Namen zu importieren. Und in diesem Fall importieren Sie Modul ist das, was Sie möchten, dass der andere Name sein. Eine gemeinsame wäre, Pandas als pd zu importieren, daher nicht den ganzen Weg heraus buchstabieren zu müssen. Wenn ein Modul einen wirklich langen Namen hat, verkürzen
manche ihn gerne. Sie würden sagen, importieren mod a, mod S, und dann würden Sie ihm einen anderen Namen geben. Also nennen Sie es, sagen Sie mein Modul. Also, jetzt ist mein Modul hier und es hat einen, einen Hintern. Module können auch aus einer Funktion importiert werden. Lassen Sie mich Ihnen zeigen, wie das aussieht. In diesem letzten Beispiel erstellen Sie eine Funktion und ich werde Sie es Importer nennen lassen. Innerhalb der Funktion könnte man von
MOD wichtig print_i sagen und dann das Drucken innerhalb davon verwenden. Also im Moment, MOD ist nicht hier und print_i ist nicht verfügbar. Aber wenn Sie Importer ausführen und diese Funktion aufrufen, importiert
es das Drucken aus dem Modul mod und ruft es
dann mit dem Argument hallo all auf. Als Nächstes sehen Sie sich die DIR-Funktion an.
122. Die Funktion von dir(): In diesem Video geht es um die DIR-Funktion. Nachdem Sie die verschiedenen Möglichkeiten gelernt haben, wie Sie ein Modul oder
den Inhalt Ihres Moduls importieren können und wie sich dies auf den Aufruf dieser Objekte auswirkt. Vielleicht möchten Sie lernen, wie Sie
die Definitionsnamen innerhalb eines Namespaces anzeigen . Und da kommt das DIR oder die Verzeichnisfunktion ins Spiel. Es ist eine eingebaute Funktion und es gibt eine Liste von definierten Namen in einem Namespace zurück. Wenn Sie ihm keine Argumente geben, wird eine alphabetisch sortierte Liste
aller Namen erstellt , die sich derzeit in der lokalen Symboltabelle befinden. Werfen wir einen Blick auf das. Wenn DIR nur von alleine ausgeführt wird
, werden diese Objekte angezeigt. Wenn Sie ein neues Objekt erstellen, erstellen Sie eine Liste mit dem Namen gewinnt. Und wenn Sie das DIR ausführen würden, sehen Sie
jetzt, wann es ein Objekt gibt, das auch als lokale Symboltabelle verfügbar ist. Wenn Sie ein Klassennamenteam erstellen würden, ist
es eine sehr einfache Klasse, die gerade passiert. Und Sie sollten das Objekt erstellen, sagen wir, X, das Teil des Klassenteams ist. Wenn Sie nun DIR eingeben, können
Sie hier Team sehen, und dann können Sie die anderen Objekte, Winde und x sehen. Dies sind
also die Objekte, die sich jetzt in der lokalen Symboltabelle befinden. Ihre Namen sind, lassen Sie uns das Modul MOD importieren und geben Sie DIR ein. Die einzelnen Objekte sind Teil dieses Moduls mod sind nicht Teil der lokalen Symboltabelle. Sie müssten zugegriffen werden, indem Sie mod Dante oder mon dot S mit Notation Syntax oder mod dot drucken. Wenn Sie jedoch einzelne Teams importieren
würden, würden Sie lernen, wie Sie das letzte Mal ein Team importieren, das Sie nicht importieren können, wird eine Fehlermeldung angezeigt. Wenn Sie nun DIR Team eingeben
, ist diese Klasse da und ein
, dieses Objekt ist da, können
Sie ein Objekt Y der Teamklasse erstellen. Es ist verfügbar. Und andere Möglichkeiten, die Sie importieren könnten, besteht darin, aber mit einem anderen Namen zu importieren. So könnten Sie S importieren und ihm die Namenszeichenfolge geben. Also jetzt würde DIR String aufbringen, ist jetzt auch in dieser lokalen Tabelle, S ist nicht, es ist nicht definiert, aber string ist. Bis jetzt haben
Sie die eingebaute Funktion DIR ohne Argument verwendet. Was ist, wenn du ihm einen Streit gibst? Nun, eine der Möglichkeiten, wie Sie es verwenden können, besteht darin ihm den Namen des inneren Moduls als Argument zu geben. In diesem Fall listet die DIR-Funktion dann alle Namen definieren innerhalb dieses Moduls auf. Wenn Sie Mod selbst importieren, können
Sie es hier sehen, aber Sie können nicht die Namen der Objekte sehen, die beim Importieren von Mod importiert wurden. Diese befinden sich in einer eigenen Symboltabelle. Um diese anzuzeigen, geben Sie DIR offene und schließende Klammern ein. Und dann als Argument, setzen Sie es in mod. Es hat eine eigene Teamklasse und signiert es die String-Funktion, eine Funktion print_i und die Zeichenfolge S zusammen mit ihrem eigenen Namen. Ich werde dir im nächsten Video ein bisschen mehr über den Namen zeigen. Und das letzte, was wir diskutiert haben,
war die Verwendung eines Platzhalters für Mod-Import Asterix, Was bedeutet das in das Verzeichnis? Nun, es setzt alle Objekte und so gibt es Team Mod. Das Modul ist immer noch vorhanden, wenn Sie es importieren, es vorher. Aber print_i und S und a sind jetzt alle in der lokalen Symboltabelle. Im nächsten Video erfahren Sie mehr über die Ausführung eines Moduls als Skript.
123. Ein Modul führen: In diesem Video erfahren Sie mehr über die Ausführung eines Moduls als Skript. Ist ein Modul auch ein Python -Skript? Nun, ja, jede Punkt-Py-Datei, die ein Modul enthält, ist im Wesentlichen auch ein Python -Skript. Lassen Sie mich, dass Sie sich das ansehen. Wenn wir den Code für Mod DOD PY öffnen würden, wie Sie sehen können, ist es sehr einfach. Was wäre, wenn Sie modifizierte pi ausführen würden, ist ein Skript. Ist es sicher möglich, solange Sie sich im selben Verzeichnis befinden, aber es geht nur darum, Objekte zu finden und dann macht es nichts mit ihnen? Wenn Sie es nun ändern könnten, könnten
Sie einen Lauf print_i als Aufdruck drucken, sogar X als ein klassisches Objekt definieren und dann x
ausdrucken. Ich empfange also, es sollte ein bisschen interessanter sein. Okay, führen Sie es aus. Es druckte also die Zeichenfolge, druckte die Liste aus, zeigte das Argument für print_i. Und dann zeigt es, dass, wenn dies ausgeführt wird, der Name des Moduls Haupt- und Classy Objekt ist. Wie sieht das aus, wenn Sie es importieren? Starten Sie jetzt die Python -Shell. Wenn Sie den Import MOND ausführen würden, was wird dann passieren? Es wird den ganzen Code ausführen. Eine Notiz, die Sie hier vielleicht bemerken, dass
es verwendet wurde, um diese Haupt zu speichern. Jetzt sagt es mod und es gibt es aus. Nun, das ist wahrscheinlich nicht das, was Sie wollen. Sie möchten wahrscheinlich, wenn Sie Modell und pi für ausführen, um die Ausgabe anzuzeigen. Aber wenn Sie Mod importieren, möchten
Sie möglicherweise nicht, dass diese Ausgabe stattfindet. Möglicherweise möchten Sie in der Lage sein, die Ausgabe für Testzwecke anzuzeigen, aber Sie möchten möglicherweise nicht jedes Mal, wenn Sie es importieren. Es wäre viel besser, wenn die Ausgabe optional wäre. Also gibt es etwas zu helfen. Gibt es etwas, das Sie tun können, wenn Sie nicht möchten , dass dieses Modul LPA generiert, wenn Sie es einfach importieren? Es gab ein Werkzeug, das dabei helfen kann. Es verwendet, was eine Variable genannt wird. Do unter Variablen sind die Variablen, die Unterstriche vor ihren Namen verdoppeln. In diesem Fall ist die Gender Variable tatsächlich ein Name. Name wird automatisch auf den Namen des Moduls gesetzt, wenn es importiert wird. Das unterscheidet sich von dem, wenn ein Python -Skript als eigenständiges Skript ausgeführt wird. In diesem Fall wird name auf die Zeichenfolge von main gesetzt. Also, wie kannst du das benutzen? Ich werde hier verlassen. Geh zurück zu meinem Dot Pi. Und ich werde diesen Code ein wenig ändern, kurz bevor all das beginnt. Erstellen Sie eine if-Anweisung. In der if-Anweisung werden
Sie diese Variable verwenden, die unter Variable des Namens. Also, wenn dieser Name gleich Domäne ist, was passiert ist, wenn Sie das Skript selbst ausführen nicht importieren. Dann gehen Sie weiter und machen Sie all diese Aktivitäten. Ich lasse Sie alle Informationen über. Also nur, wenn der Name main ist. Also dieses Mal, wenn Sie math.pi ausführen würden und Sie sehen können, dass es von selbst ausgeführt wird. Der Name ist „main“. Und wenn Sie Mod importieren, tut
es nicht, was ziemlich ordentlich ist. Also wieder, wir gehen zurück zu DIR und hier ist Mod importiert, richtig? Aber wie lautet der aktuelle Name? Nun, was läuft hier als Hauptsitzung? Wenn du sagen würdest, wie lautet der Mod-Name? Nun, Mod Name ist MOD. Wenn eine Datei jedoch als eigenständiges Skript ausgeführt wird, wird der
Name auf die Zeichenfolge Maine gesetzt. Und so können Sie diesen Test verwenden. Ziemlich ordentlich. Ein Grund, warum Sie das Modul ausführen möchten, ist ein eigenständiges Skript, um den Inhalt des Moduls zu testen. Dann geht es in diesem nächsten Beispiel darum, eine neue Datei zu erstellen. Nenn es Fact Dot Py. Und in der Tat DOD pi, werden
Sie eine ziemlich einfache Funktion definieren, die eine
faktorielle ist und es einfach wieder Tatsache nennen. Sie können dieselbe bedingte Anweisung einrichten. Wenn der aktuelle Name gleich dem String main ist, wissen
Sie, dass er als eigenständiges Skript ausgeführt wird. Sie importieren ein anderes Modul, das CIS oder Systemmodul, und Sie werden ein Werkzeug namens ARG v verwenden, dann können Sie Befehlszeilenargumente verwenden. Um einige Tests durchführen zu können. Sie werden eine andere if-Anweisung einrichten. Und hier ist es auf der Suche nach seinem optionalen Argument , das Sie hinzufügen können, wenn Sie den Code als Skript ausführen. Dann wird es die Ausgabe dieser Faktenfunktion drucken, nachdem dieses Argument in eine ganze Zahl aus einer Zeichenfolge
konvertiert wurde. Speichern Sie diese Datei und testen Sie, ob Sie Fakten importieren können, gehen Sie vor und starten Sie eine neue Shell-Sitzung. So Faktoren verfügbar, und es dauert ein Argument des Endes. Sagen wir mal, was ist die Factorial von fünf? Das zeigt also, dass die Tatsache als Modul funktioniert. Im nächsten Video erforschen Sie das Neuladen eines Moduls.
124. Ein Modul neu laden: In diesem Video zeige ich Ihnen, wie Sie ein Modul bis jetzt neu laden, Sie können einfach ein Modul einmal importieren, auch wenn Sie es versuchen würden, ein Modul wird nur einmal pro Interpretersitzung geladen. Und das wird gut funktionieren für Funktionen in Klassendefinitionen und das Importieren all dieser Objekte anfänglich. Aber manchmal können Module auch ausführbare Anweisungen enthalten. Normalerweise sind die ausführbaren Anweisungen nur für die Initialisierung, und es macht Sinn, dass diese Anweisungen nur beim ersten Importieren des Moduls
ausgeführt werden . Das normalerweise in Ordnung, lass mich dir das ansehen. Gehen Sie weiter und öffnen Sie math.pi erneut. Und im Inneren werde ich Sie dazu bringen, das zu klären, wenn der Name gleich Haupt ist. Halten Sie einfach eine einfache Druckaussage für den Druck von AI heraus. In der Tat, ein wenig zu modifizieren und einen F String zu verwenden. Und das kann zeigen, dass jedes Mal, wenn dieses Modul importiert wird, es das ausdrucken würde, richtig? Also speichern Sie diese zusätzliche Zeile. Ok, hier oben im Terminal. Was ist passiert, wenn ich mod importiere? Nun, Sie können es hier sehen. Anfangs, als es Mod importierte, ging
es voran und tat die Druckanweisung dort mit der F-Stärke. Und hier drinnen steht ein Mod Dante zur Verfügung. Was nun, wenn Sie Mod wieder in derselben Sitzung importieren würden? Nichts passiert, ist Montane hier stillgelegt? Ja, in der Tat, alle Objekte sind verfügbar. Warum sollte es diesen Code nicht erneut ausführen? Will, das ist die Sache. Es wird es nur einmal importieren und es muss nicht erneut importiert werden. Also ist es eine Art Effizienz-Sache. Nun, was ist, wenn Sie das neu laden müssen? Ist es möglich, ein Modul neu zu laden? Wenn du es wirklich musstest? Hier gibt es zwei Möglichkeiten. Zum einen können Sie den Dolmetscher neu starten und das haben Sie mehrmals praktiziert. Oder es gibt ein Modul, das Sie namens lib importieren können, und das enthält eine Funktion namens reload. Lassen Sie mich Ihnen zeigen, wie das aussieht. Manchmal möchten Sie dies möglicherweise neu laden, besonders wenn Sie
den Code geändert haben und den Interpreter nicht neu starten möchten. Wie vielleicht haben Sie dies ein wenig geändert und Sie speichern, und jetzt möchten Sie Mod importieren. Diese Objekte sind immer noch da und der Import von Mod hat nichts ausgedruckt. Auch wenn Sie Änderungen an Ihrem Modul vornehmen, müssten
Sie ein anderes Tool verwenden. Und dieses Tool ist etwas, das aus der Importlib importiert werden kann. Und innerhalb von Import-Bibs, eine Funktion namens Reload. Jetzt, da Sie es importiert haben, wird
neu laden das Modul neu laden und es dann erneut zurückgeben. Also in diesem Fall wird das Modul Mod genannt zwei wichtige lib dot reload Maud würde tatsächlich hier neu geladen. Es wurde tatsächlich von der Quelle hier neu geladen. Jetzt haben Sie ein praktisches Tool, mit dem Sie Änderungen an Ihrem Modul vornehmen. Sie können sie mit dem Import live und dem funktionalen Laden neu laden. Im nächsten Video werden wir anfangen, Python Pakete zu erkunden. Danke fürs Zuschauen.
125. Wie du ein Paket in Python installieren: Hey alle, wieder in unserem Python Kurs hat
Python eine Standardbibliothek von Paketen, aber viele Entwickler haben ihre Pakete geschrieben, um Pythons Fähigkeiten noch weiter zu erweitern. Es handelt sich um Pakete von Drittanbietern. Sie können sie mit Hilfe des Pipe-Werkzeugs von Python installieren. Dieses Tool lädt Python Pakete sicher herunter und installiert auf Ihrem Computer von HTTPS Semikolon, Schrägstrich
vorne Schrägstrich PY PI.org, der Python Software Foundation Website. Stellen Sie sich vor, der Python Paketindex ist eine Art kostenlose App für Python-Module. Lassen Sie uns die Webseite starten. Dies sind die neuesten Updates von den Python Paketen oder Modulen, wenn Sie es vorziehen. Klicken Sie unter diesem Link auf Projekte durchsuchen und Sie können Tausende von Paketen
sehen, die bereit sind, sie zu installieren. Gehen wir zurück zum PIP-Tool. Die ausführbare Datei für das PIP-Tool heißt pip unter Windows und PIP3 unter OS X und Linux. Unter Windows finden Sie Pip im folgenden Verzeichnis. Während Pip automatisch mit Python 3.9 und unter Windows sowie OSX installiert wird, müssen
Sie es separat online x installieren. Jetzt zeige ich Ihnen, wie Sie Pakete von Python mit Pip installieren. Ich werde demonstrieren, wie Sie ein Paket deinstallieren, das nicht mehr benötigt wird. Wenn Sie Windows verwenden, können
Sie Python Paket installieren, indem Sie die
Windows-Eingabeaufforderung öffnen und dann diesen Befehl eingeben. Lassen Sie uns die Schritte eins nach 1 sehen. Geben Sie zuerst die Eingabeaufforderung in das Suchfeld des Fensters ein. der rechten Maustaste auf die Windows-Eingabeaufforderung, und wählen Sie dann Als Administrator ausführen aus. die Eingabeaufforderung als Administrator ausführen, vermeiden
Sie alle Berechtigungsprobleme in der Eingabeaufforderung Typ CD Backslash, da dieser Befehl sicherstellt, dass Ihr Startpunkt nur den Laufwerknamen hat. Drücken Sie die Eingabetaste Jetzt sehen Sie den Laufwerknamen von c, suchen Sie Ihren Python Pfad. Der Skript-Ordner befindet sich im Python Anwendungsordner, in dem Sie Python ursprünglich installiert haben. In meinem Fall, wenn ich Windows Explorer öffne, ist
der Python Pfad dieser. Wenn ich also mit der rechten Maustaste klicke, kann ich diese Adresse als Text kopieren. nun in der Eingabeaufforderung cd gefolgt von Ihrem Python Pfad ein, ich kann die Adresse einfügen würde plus V steuern, drücken Sie die Eingabetaste. Geben Sie nun den pip install Befehl ein, um Ihr Python Paket zu installieren. Da wir in unserem Fall das Pandas-Paket installieren möchten. Geben Sie dann den folgenden Befehl in die Eingabeaufforderung ein. Schließlich drücken Sie die Eingabetaste und Sie werden feststellen, dass das Paket hier, es ist Panda, installiert wird. Sie können schnell überprüfen, ob Pankaj erfolgreich in Python installiert wurde, indem den Python-Leerlauf
öffnen und dann den Befehl importieren pandas ausführen. Wenn keine Fehler auftreten, nachdem Sie F5 drücken, um den Importbefehl auszuführen, dann wurde das Paket erfolgreich installiert
, um ein Paket mit Pip zu deinstallieren, geben Sie
einfach die folgenden Befehle in die Eingabeaufforderung ein. Vergessen Sie nicht, den Python Pfad festzulegen, bevor Sie diesen Befehl eingeben. Geben Sie schließlich y ein und drücken Sie dann die Eingabetaste, um mit dem Entfernen des Pakets fortzufahren. Danke fürs Zuschauen.
126. Python-Pakete: Bisher hatten Sie nur ein einziges Modul zu importieren. Aber was passiert, ist, dass Sie beginnen, eine viel größere Anwendung zu erstellen, das ist, wo Python Pakete kommen können wenn Sie versuchen, eine wachsende Anzahl von Modulen zu verfolgen. Das Erstellen eines Pakets ist in der Regel die Lösung. Pakete erlauben eine hierarchische Struktur a des Modulnamespace, wieder mit Punktnotation. Hier ist also ein Beispiel für Paketstruktur und Sie werden damit in einem Moment spielen. Auf der obersten Ebene haben Sie wieder ein Verzeichnis, und sagen wir, dass das Verzeichnis pk GY Paket heißt. Und darin enthält es mod E1 dot pi, und dann hat es ein zweites Modul, mod zwei dot py. Nun befinden sich beide Modelle in der Verzeichnishierarchie des Pakets. Nun, wie importiert man sie und arbeitet mit diesen Modulen? Lassen Sie mich Sie innerhalb des Python Verzeichnisses üben. Ich habe bereits ein neues Verzeichnis erstellt, pk G. Also hier ist das Verzeichnis pk G und Incentive in Ich habe zwei Module erstellt, Modus eins und Modus zwei. Es öffnet diese beiden Dateien. So wird Modus eins eine Funktion haben, die Ladedaten genannt wird. Die Ladedaten,
wenn sie aufgerufen werden, werden eine Textzeile über das Modul ausdrucken. Es hat auch eine Klasse. Diese Klasse wird die Kundenklasse sein. Mod zwei wird eine Funktion mit dem Namen Clean
Data-Modul haben, haben auch eine Klasse. Diese Klasse wird die Standortklasse sein. Großartig. Warum sind die Möglichkeiten, Pakete oder Module aus Paketen zu importieren? Nun, Sie können die Punktnotation verwenden. In der Tat könnten Sie beide gleichzeitig importieren. Und Sie könnten ein Objekt erstellen und x wird ein Ort
sein , der den Punkt markiert, wenn Sie so wollen. Großartig. Also x ist das Standortobjekt von mod zwei aus dem Paket PKA G. Nice. Das ist also eine Möglichkeit, sie einfach zu importieren. Eine andere Möglichkeit wäre, einzelne Elemente zu importieren. Also, jetzt innerhalb von hier, Ladedaten sind in der lokalen SymbolTable und sind verfügbar und Sie können sehen, wie es läuft. So könnten Sie wieder
einzelne Elemente aus den einzelnen Modulen mittels Punktnotation aus dem Paket importieren . Oder Sie könnten die alternative Namenstechnik verwenden. Nehmen wir an, Sie möchten diese Klassifizierung importieren. Aber anstatt einen Standort aufzurufen, möchten
Sie ihn primär nennen. Sie können nun ein neues Objekt mit dieser Klasse erstellen. Also jetzt y ist ein lokales Objekt. Auch hier verwendet es den Namen, den Sie ihm einen Primärnamen gegeben haben. Eine andere Möglichkeit, die Sie gelernt haben, vorher zu importieren, war die Verwendung der von Anweisung. Sie können den Modus 1 nicht direkt importieren, wie Sie aus dieser Fehlermeldung sehen können. Aber von P KG könnten Sie Mod eins importieren. Anstatt also die Bezeichnung, zuerst Peak AGE zu haben, würden
Sie dann einfach Mod eins verwenden. Und ähnlich, wenn Sie wollen, können
Sie aus der EKG-Importanleihe T2 laden und dann würde es ihm einen anderen Namen geben. Sagen wir foo. Foo hat Daten gesäubert und wenn Sie möchten, könnten
Sie diese Funktion aufrufen. Es ist gut, all diese Techniken wieder zu üben. Danke fürs Zuschauen.
127. Erstellen von Grafiken und Formen mit dem Turtle Modul von Python: Wie wir bereits gelernt haben, bietet
ein Modul in Python nützlichen Code, der von einem anderen Programm verwendet werden kann. Python hat ein spezielles Modul namens Turtle, mit dem wir lernen
können , wie Computer Bilder auf einem Bildschirm zeichnen. Das Schildkrötenmodul als eine Möglichkeit der Programmierung von Vektorgrafiken, Zeichnen mit einfachen Linien, Punkten und Kurven. Zuerst, um die Schildkröte zu verwenden, werden
wir das Schildkrötenmodul importieren, verwendet den Code. wir nun das Schildkrötenmodul importiert haben, müssen
wir eine Leinwand erstellen, einen leeren Raum zum Zeichnen wie eine Künstlerleinwand. Dazu rufen wir den Stift aus dem Schildkrötenmodul auf, das automatisch eine Leinwand erstellt. Geben Sie dies in die Python -Shell ein. Sie sollten ein leeres Feld oder die Leinwand mit einem Pfeil in der Mitte sehen. Der Pfeil in der Mitte des Bildschirms ist die Schildkröte. Natürlich ist es nicht sehr Turtle Lake. Sie senden Anweisungen an die Schildkröte mit Funktionen , die für die soeben erstellte Variable
verfügbar sind, ähnlich wie bei der Verwendung der Stiftfunktion im Turtle-Modul. Zum Beispiel weist die Vorwärts-Anweisung der Schildkröte an, sich vorwärts zu bewegen, der Schildkröte
mitzuteilen, 50 Pixel voranzubringen, geben Sie den folgenden Befehl ein. Jetzt sagen wir der Schildkröte, sie soll sich mit dem folgenden Befehl um 90 Grad drehen. Die Schildkröte links 90 Befehl zeigt den Pfeil nach oben. Jetzt zeichnen wir ein Quadrat und den folgenden Code auf die Zeilen, die Sie bereits eingegeben haben. Um die Leinwand zu löschen,
Leinwand und setzt die Schildkröte zurück an ihre Ausgangsposition. Sie können auch Clear verwenden, die nur den Bildschirm löscht und die Schildkröte verlässt, wo sie ist. Wir können unsere Schildkröte auch nach rechts drehen oder rückwärts bewegen. Wir können bis verwenden, um den Stift von der Seite zu heben. Mit anderen Worten, um der Schildkröte zu sagen, dass sie mit dem Trocknen beginnen und nach unten ziehen soll. Diese Funktionen werden auf die gleiche Weise geschrieben wie die anderen, die wir verwendet haben. Lassen Sie uns versuchen, eine andere Zeichnung mit einigen dieser Befehle. Diesmal lassen wir die Schildkröte zwei Linien zeichnen. Zuerst bewegen wir die Schildkröte nach hinten 100 Pixel mit T rückwärts 100, und dann verwenden t up, um den Stift aufzunehmen und das Zeichnen zu stoppen. Dann mit Befehl t rechts 90 drehen
wir die Schildkröte nach rechts um 90 Grad, um nach unten zum unteren Rand des Bildschirms zu zeigen. Mit t vorwärts 20 bewegen
wir uns 20 Pixel vorwärts. Nichts wird wegen der Verwendung des Befehls up in der dritten Zeile gezeichnet. Wir drehen die Schildkröte um 90 Grad nach rechts mit T links 90. Und dann sagen
wir der Schildkröte, sie soll den Stift wieder runterlegen und es erneut versuchen. Schließlich zeichnen wir eine Linie vorwärts parallel zur ersten Linie, die wir mit t nach vorne 100 gezeichnet haben, und wir haben die beiden parallelen Linien gezeichnet. Außerdem könnten Sie eine for-Schleife verwenden, um ein Quadrat wie dieses zu erstellen. Jetzt mit ein paar einfachen Änderungen an unserer Schleife, können wir
schön mit dem ähnlichen Code erstellen , können
wir verschiedene geformte von einem Grundquadrat zu einem Spiralstern erstellen. Wie Sie sehen können, indem Sie for-Schleifen verwenden, haben
wir es viel einfacher gemacht, diese Formen zu zeichnen. Versuchen wir nun, ein gefülltes Quadrat zu zeichnen, aber zuerst reinigen Sie die Leinwand, um das gefüllte Quadrat zu trocknen. Zuerst müssen wir eine quadratische Funktion definieren, die ein Quadrat zeichnet. Beginnen Sie mit dem Füllen. Testen Sie Ihre Funktion, indem Sie sie mit Größe 50 und dann n Füllung aufrufen. Ich hoffe, Sie lernen, wie Sie das Schildkrötenmodul verwenden, um
ein paar grundlegende geometrische Formen mit Schleifen zu zeichnen , um zu steuern, was die Schildkröte auf dem Bildschirm macht. Wenn Sie Fragen haben, lassen
Sie es mich wissen.
128. Python geöffnet, zu lesen und zu schreiben in eine Datei: Hallo und willkommen zu dieser Video-Tutorial-Serie über die Arbeit mit Dateien und Python. In diesem Abschnitt werden Sie so ziemlich alles lernen, was Sie
jemals über eine grundlegende Dateioperationen in Python wissen könnten . Und meine grundlegenden Dateioperationen, ich meine das Erstellen, Löschen von Dateien und Verzeichnissen, Verschieben, Kopieren,
Umbenennen , Arbeiten mit Archiven, Arbeiten mit temporären Dateien, Durchlaufen von Verzeichnissen Bäume und Abrufen von Dateieigenschaften. Diese Liste geht weiter und weiter, aber so ziemlich alles hier werde ich abdecken und sogar einige Dinge, die nicht ganz auf dieser Liste sind. Wenn Sie in Ihrem eigenen Terminal folgen möchten, würde
ich Ihnen empfehlen, einen Blick auf die Ressourcendateien zu werfen, die ich hinzugefügt habe ,
da das alle diese Beispielverzeichnisse enthält, die ich in diesem Abschnitt durchmache organisiert von weniger als, könnte
es wirklich bequem für Sie sein. Also im Allgemeinen in jeder Lektion werde ich die Lektion vorstellen, einige der Funktionen
vorgestellt, die ich verwenden werde. Und dann zeige ich Ihnen ein Beispielverzeichnis und Sie sollten es sich an Ihrem eigenen Terminal ansehen , damit Sie folgen können. Alles klar, springen wir rein. In dieser Lektion werde ich Pythons mit Offenheit Muster abdecken, sonst als Context-Manager-Muster bekannt ist, was meiner Meinung nach das wichtigste grundlegende Muster für die Arbeit mit Dateien und Python ist, weil es Ihnen erlaubt, aus vorhandenen Dateien in Ihrem Dateisystem. Um die als Muster geöffnete Breite zu verstehen, müssen
Sie zuerst die offene Funktion verstehen, die wirklich ziemlich einfach ist. Es nimmt Dateiname und einen Modus, und es öffnet den angegebenen Dateinamen aus dem aktuellen Verzeichnis, es sei denn, in dem Modus, den Sie übergeben, anders angegeben. Und wenn diese Datei geöffnet ist
, können Sie Operationen in dieser Datei ausführen oder sie übergeben, um daraus zu lesen. Also die grundlegenden Datei-Modi, und es gibt viele mehr. Aber das sind die drei, die ich Ihnen zeigen werde, um mit unserem Schreibmodus w zu beginnen
, der den vorhandenen Dateiinhalt löscht, nicht
existiert und Ihnen erlaubt, die Datei zu schreiben. Es gibt roten Modus, r Modus, der Ihnen einen nur Lesezugriff auf den Inhalt der Dateien gibt. Und wir werden einen Fehler werfen, wenn die Datei noch nicht existiert. Und dann gibt es den Anfügemodus a, der an das Ende der Datei schreibt, damit der vorhandene Dateiinhalt nicht gelöscht wird. Zonen sind also die drei grundlegenden Dateimodi die im Rest dieser Lektion überhaupt untersucht werden. Also lasst uns zur Python -Shell gehen. Also, was ich tun kann, ist etwas wie test.txt als Dateiname zu sagen. Und dann öffne ich es im Schreibmodus, damit ich darauf schreiben kann. Und so wird es erstellt, weil test.txt noch nicht existiert. Und dann muss ich sagen, ist so mit offen wie und dann gebe ich diesem einen Namen. Normalerweise finde ich es bequem, etwas wie Schreibunterstrich Datei zu sagen ,
so dass ich mich erinnere, was genau ich in diesem Fall zwei schreibe. Dann kann ich so etwas wie den richtigen Aktenpunkt rechts sagen. Oder ich kann einfach schreiben, was ich schreiben möchte. Ich kann so etwas wie hallo sagen, das ist eine Akte. Drücken Sie die Eingabetaste und Schreibfunktion gibt die Anzahl der hier geschriebenen Zeichen zurück. Schauen wir uns Pythons Hauptverzeichnis an. Kannst du diese Datei sehen? Es ist hier, test.txt. Sie können diese Datei überprüfen, indem Sie mit geöffneter test.txt im Lesemodus als Lesedatei sagen. Und dann kann ich einfach sagen, print, readFile dot read, und nicht lesen Funktion gibt nur den gesamten Inhalt dieser Datei zurück. Wie Sie sehen können, sind dies wirklich vorhandene Dateien und es hat den Inhalt. Hallo, ich bin eine Akte. Es gibt einen weiteren Modus, den ich dir gezeigt habe. Also werde ich Ihnen jetzt zeigen test.txt und Append-Modus ist die richtige Datei. Und dann kann ich die richtige Akte sagen, nicht überfallen. Und ich werde hier eine neue Zeile setzen, damit es eine neue Zeile in der Datei gibt. Und ich werde sagen, hier ist ein paar weitere Texte. Und dann mache ich genau das Gleiche, was ich gerade hier gemacht habe. Und wie Sie sehen können, habe ich es angehängt. Aber wenn ich es wieder im Schreibmodus öffnen und dann darauf schreiben würde, wurden
alle Texte gelöscht. Lassen Sie uns die Datei aus Pythons Hauptverzeichnis überprüfen. Und wie Sie sehen können, dass dies in der Tat wahr ist, weil im Schreibmodus eigentlich nur Rechte über alles, was in der Datei bereits vorhanden ist, während der Stiftmodus nur an den vorhandenen Text anhängt. So können Sie auf verschiedene Arten eine Datei öffnen
und lesen und in eine Datei schreiben. Eine letzte Sache, die ich in dieser Lektion behandeln möchte, ist, dass es empfehlenswert ist, die Datei nach dem Öffnen immer zu schließen den rechten Punkt zu schließen. Andernfalls wird diese FileResource offen mit Ihrem Betriebssystem wird interpretiert dass
Sie diese Datei öffnen müssen und es wird Art von snarl up Ihre Betriebssystemressourcen. So können Sie die Breite offen als
Muster verwenden , um Dateien zu erstellen und zu lesen und in Dateien zu schreiben. In der nächsten Lektion bespreche ich, wie Sie die Verzeichnisliste erhalten, wie Sie sich alle Dinge ansehen, die in Ihrem Verzeichnis befinden, die erstellt wurden.
129. Ein Verzeichnis auflisten, und die Attribute zu den Verzeichnissen erhalten: In dieser Lektion werde ich behandeln, wie man eine Verzeichnisliste erhält. Legen Sie einfach eine Liste aller Dinge, die in Ihrem aktuellen Verzeichnis oder in einem beliebigen Verzeichnis
vorhanden sind, das Sie auswählen können. Und das ist wirklich wichtig, denn so ziemlich jede Aufgabe, die Sie
in Python oder einer anderen Programmiersprache ausführen möchten , in der
Sie mit Dateien arbeiten , müssen Sie dort etwas tun, wo Sie alle Dateien durchsuchen möchten Ihres aktuellen Verzeichnisses und machen Sie etwas mit ihnen. Hier sind einige grundlegende Verzeichnisauflistung Funktionen in dieser Serie, ich werde Ihnen oft ein paar verschiedene Möglichkeiten zeigen, die Aufgabe zu erledigen. Dann werde ich Ihnen zeigen, wie es geht. Bei allem, was gesagt wird, ist
die erste Funktion hier die OS-Punktliste DIR, die einen Verzeichnisnamen einnimmt und dann eine Liste von
Dateien und Unterverzeichnissen in diesem Verzeichnis als Zeichenfolge zurückgibt . Die etwas raffiniertere Alternative ist OS dot scan DIR, das anstelle einer Liste einen Iterator zurückgibt. Dieser Iterator besteht nicht aus Strings, sondern aus Dateiobjekten, die einige Eigenschaften für sie haben, wodurch sie ein wenig einfacher zu arbeiten wenn Sie sie tatsächlich als Dateien behandeln möchten. Und dann hat das Pfad-Live-Modul ein sehr ähnliches Paradigma zum Scannen von DIR, außer es funktioniert auf einem Pfadobjekt. Und ich zeige Ihnen, wie Sie ein Pfadobjekt initialisieren und damit
arbeiten, in der Python Challenge ist die zweite. Mein Python Verzeichnis enthält ein paar Unterverzeichnisse und mehrere Dateien. Und jedes Unterverzeichnis hat ein paar verschiedene Dateien zu. Okay, lasst uns hier ein bisschen in den Code einsteigen. Das erste, was zu tun ist, um einige Importe in Gang zu bringen, OS zu importieren. Und dann werde ich auch den Pfad lib Importpfad sagen, nur damit ich alle meine Importe hier oben an einem Ort habe. Das erste, was Sie tun können, wenn Sie eine Verzeichnisliste erhalten möchten ist, dass Sie einfach OS dot list DIR sagen können. Und dann, wie Sie aus meiner praktischen Shell sehen können, nimmt
es einen optionalen Pfadparameter ein. Wenn Sie den Pfad nicht übergeben, wird nur das aktuelle Verzeichnis verwendet. Es, wie Sie sehen können, wenn Sie sich von meinem Python Verzeichnis erinnern, hat
es alle Dateien und Ordner. Aber wie Sie hier sehen können, sind
all dies nur nackte Strings und ebenso die String-Liste. Das ist also nicht super flexibel. Wenn Sie tatsächlich Informationen darüber erhalten möchten, können
Sie etwas sagen, wie vielleicht der OS-Pfad Datei
ist und dann könnten Sie das in einer Datei oder was auch immer aufrufen. Aber Sie müssen alle Zirriculum Kunshan tun , um einige Informationen über diese Datei herauszufinden. Kannst du raten, warum es falsch ist? Es liegt daran, dass sie die Punkt-Py-Erweiterung nicht eingegeben haben. Versuchen wir es nochmal. Dies ist bei so etwas wie Scan DIR nicht der Fall. Sie können etwas sagen, wie für Name und OS nicht scannen DIR. Und das wird auch einen optionalen Pfadparameter benötigen. Sie können sagen, wenn Don ist Datei benannt. Und ich bin mir nicht sicher, warum das keinen Unterstrich hat und das hat einen Unterstrich. Ich wünschte, ich könnte Ihnen mehr darüber erzählen, warum das so ist, aber wer weiß? Damit Sie einfach direkt vom Objekt zugeschrieben werden können. Weil, wie Sie sehen können. Objekte sind DIR-Einträge und nicht nur einfache Zeichenfolgen. So haben die DLR-Einträge Informationen in ihnen, während die Strings, müssen
Sie ein wenig mehr Arbeit als Programmierer tun, um zu lernen, dass die notwendigen Befehle tatsächlich diese Informationen über diese Dinge zu bekommen. Das ist hier etwas zu bemerken,
ist, dass der OS dot scan DIR ein wenig objektorientierter ist, während OS dot list DIR ein wenig mehr wie ein traditionelles Linux Dateisystem funktioniert. Wir sind so ziemlich alles ist eine Zeichenfolge und Sie
müssen nur die Arbeit auf eigene Faust machen, um die Informationen darüber herauszufinden. So Pfad gelebt nimmt eine ähnliche Psychologie, außer Sie müssen den Pfad als explizites Objekt erstellen. So DIR Pfad gleich Pfad. Und dann werde ich einfach den aktuellen Verzeichnispunktschrägstrich übergeben. Und dann können Sie genau das gleiche tun, was Sie mit OS dot scan DIR tun können. Es ist nur, dass es ITER DIR direkt auf dem Pfad aufruft. Dann ist es genau das Gleiche hier. Wie Sie sehen können, hat dieser Name ein bisschen eine andere Druckfunktion. Aber dieser Name ist immer noch ein Objekt, wo er
ein wenig mehr Informationen hat als nur eine bloße Zeichenfolge. Das ist also relativ nützlich. Und all diese Dinge, die Sie auf jedem Weg verwenden können, den Sie mögen. Es ist nicht nur im aktuellen Verzeichnis. Das sind drei verschiedene Möglichkeiten, um ein Verzeichnis zu erhalten das das Betriebssystemmodul und das lib-Pfadmodul auflistet. Sie alle haben ihre Vor- und Nachteile. Os dot list DIR ist wirklich einfach und einfach. Os dot scan DIR und path lib dot path haben ein wenig mehr Nuance und Sie können ein wenig mehr Dinge mit ihnen tun. Aber Sie haben nicht unbedingt die gleiche Art von Leichtigkeit wie mit OS dot list DIR. Also alle Dinge zu beachten, jetzt, dass Sie eine Liste mit den Dateien im aktuellen Verzeichnis haben. Aber was passiert, wenn Sie tatsächlich die Attribute dieser Dateien erhalten möchten? Wie das letzte Mal, als sie geändert wurden oder wann sie erstellt wurden, oder ihre Größe oder ihre Berechtigungen oder so etwas. Es gibt drei verschiedene Optionen zum Abrufen von Dateiinformationen. Der erste ist immer dots stat
, der einen Pfad als String annimmt und dann
ein stat route Ergebnisobjekt zurückgibt , das eine Datei Daten enthält. Das stat-Ergebnisobjekt ist also etwas, das Sie auf Felder dieses Objekts zugreifen und die Dateidaten abrufen können. Dann liefern OS dot scan DIR und path lib dot path dot iter DIR diese Informationen mit den Objekten, die sie in ihren Iteratoren zurückgeben. Also werfen wir einen Blick in die Schale. Okay, Aktendaten. Wie bekommst du es? Nun, lasst uns das versuchen. Erster. Ich möchte nur den Inhalt dieses Verzeichnisses erhalten. Und wie Sie sehen können, gibt es viele Dateien zur Auswahl. Und die erste Methode, die ich in den Folien mit der OS dot
stat-Funktion betrachte , die nur einen Dateipfad,
Dateinamen annimmt und Ihnen ein OS dot stat Ergebnisobjekt gibt. Als Ergebnis haben Sie alle Arten von verschiedenen Dingen, Anzahl der Links zur Erstellung und Änderungszeit. Einige von ihnen unterscheiden sich sogar von System unter Windows, Linux, Mac, und einige von ihnen werden unterschiedliche Werte haben. Jetzt zeige ich Ihnen die zwei Möglichkeiten, wie ich diese Daten tatsächlich bekommen möchte. Ich könnte für OBJ und OS dot scan DIR im aktuellen Verzeichnis speichern. Und dann lassen Sie uns ein wenig mehr von einer informativen Ausgabe machen. Sagen wir mal, so etwas wie Mod-Zeit entspricht OBJ Darmstadt. Und so erhalten Sie die Statistiken für ein Scan-DIR-Objekt. Und dann kann ich Punkt STM Zeit sagen. Und jetzt können wir etwas Schönes sehen, wie f doppelte Anführungszeichen Datei OBJ Punkt Name wurde zuletzt geändert bei. Und dann könnte ich sagen, Zeit Punkt c Zeit der Mod Zeit. Und so sollte dies alles ein schönes lesbares Format geben. Es sagt Ihnen, jeden Dateinamen und die Zeit, die sie zuletzt geändert wurden, dann der Pfad lebte auf Pfad Option. Hier funktioniert fast genau auf die gleiche Weise, außer Sie müssen
zuerst das Pfadobjekt erstellen , bevor Sie mit der Iteration beginnen können. Das sind also drei verschiedene Möglichkeiten, Statistiken aus Dateien mit Python zu erhalten. In der nächsten Lektion werde ich etwas behandeln, das ich noch nicht behandelt habe, nämlich das Erstellen von Verzeichnissen.
130. Erstellen und Löschen von Ordnungen: In dieser Lektion werde ich kommen oder wie man Verzeichnisse und sogar ganze Verzeichnisbäume erstellt. Wie üblich gibt es ein paar verschiedene Möglichkeiten, dies mit dem OS-Modul zu tun. Wenn Sie nur ein einzelnes Verzeichnis erstellen möchten, können
Sie OS dot MKDIR make directory mit dem Verzeichnisnamen verwenden, wodurch ein einzelnes Unterverzeichnis mit einem angegebenen Namen erstellt wird. Wichtig zu beachten, dass dadurch kein Verzeichnis und Unterverzeichnisse erstellt werden. Und wenn Sie das brauchen, müssen Sie OS dot verwenden, DEA, IRS machen. Und dann können Sie einen vollständigen Pfadnamen mit
mehreren Unterverzeichnissen übergeben und es wird den vollständigen Verzeichnisbaum nach Bedarf erstellen. Mit dem Modul path lib können
Sie path list.pop dot MKDIR verwenden, das im Wesentlichen genauso funktioniert wie O S dot MKDIR, es auch keine vollständigen Verzeichnisbäume erstellt. In dieser Lektion werde ich
wirklich jedes spezifische Beispielverzeichnis verwenden , weil ich nur Verzeichnisse erstellen werde, wie ich sie brauche. Lassen Sie uns direkt in die Python -Shell gehen. Okay, lassen Sie uns ein paar Verzeichnisse erstellen. Os erledigt. Mkdir ist der erste und einfachste Weg, dies zu tun. Es nimmt einen Pfadparameter und dann kann es auch einen Modusparameter und dann den DIR FDI-Parameter verwenden. Also, wenn ich ein Verzeichnis namens test erstellen möchte, ist
das ziemlich einfach zu tun. Und dann kann ich die Liste DIR verwenden, um zu sehen, dass es erstellt wird. Nun, wenn ich etwas etwas etwas spezifischer machen möchte und ich etwas wie OS dot MKDIR sagen wollte, test2 slash Teilaufgaben. Dann werden Sie sehen, dass das tatsächlich nicht funktioniert, weil test2 noch nicht existiert. Subtests können also nicht von MKDIR erstellt werden. Wenn ich so etwas tun muss, kann
ich OS dot verwenden, DEA,
IRS machen , die dieses Verzeichnis machen wird, und dann wird es all diese machen. Es wird nur alles machen, was ich brauche, um zu diesem endgültigen Verzeichnis zu gelangen. Wie Sie sehen können, sind DIR und Test zwei dort drin. Dann, wenn ich die Liste DIR auf Test zwei aufrufe, dann können Sie sehen, dass es Subtests Ordner genau so hat, wie ich es brauchte. Also, das ist wirklich ziemlich einfach und genial. Der Grund, dass MKDIR auf diese Weise existiert und der Grund, dass es das Verhalten
hat, besteht darin, wirklich ein Sicherheitsventil zu sein, ein Sicherheitsmechanismus, um sicherzustellen, dass Sie wirklich wissen, was mit Ihrem Dateisystem los ist. Machen Sie DEA IRS ist genial. Aber es kann auch zu unerwartetem Verhalten führen, wenn Sie derjenige im Verzeichnis sind und
Sie eine ganze Kette von Unterverzeichnissen erstellen und dann an einem völlig unerwarteten Ort landen. Während MKDIR auf eine Art Fehler L gebaut ist, bevor dies geschieht. Damit du damit umgehen kannst. Etwas anderes zu beachten ist, dass beide
eine Ausnahme auslösen , wenn Sie versuchen, ein existierendes Verzeichnis zu erstellen. Wenn ich sage OS dot MKDIR Test oder ein Westen nicht DEA IRS-Test machen, dann wirft Python mir eine Datei existiert Fehler, weil es versucht, etwas zu erstellen, das bereits existiert. Der Pfad lib dot path alternative, die auf diese Weise erreicht werden kann. Sie können dieses Problem vermeiden, wenn Sie versuchen, das zu tun. Also kannst du so etwas sagen. Ein neuer Pfad entspricht dem Pfadtest. Und dann können Sie einen neuen Pfad Punkt MKDIR sagen. Und Sie können den Parameter existent okay verwenden und diesen auf true setzen , wenn Sie nicht möchten, dass er einen Fehler auslöst, wenn er bereits existiert. Jetzt ist das Problem damit, natürlich, dass
es einfach nichts tut, weil es kein Verzeichnis erstellt, weil es bereits existiert. Das ist definitiv etwas Wichtiges zu beachten,
ist, dass selbst wenn Sie nicht möchten, dass dieser Fehler passiert, Sie wahrscheinlich immer noch winden sollten, um zu wissen, dass dort
etwas passiert, denn sonst könnten
Sie in Probleme, bei denen Sie denken, dass Sie etwas Neues erstellen, aber wirklich erstellen Sie etwas und es gibt bereits ein vorhandenes Verzeichnis. Dieses Verhalten können Sie also beseitigen, wenn Sie es brauchen, aber Sie möchten es vielleicht nicht jederzeit. Das sind also die verschiedenen Möglichkeiten, Verzeichnisse und Python zu erstellen. Und ich denke, es ist wirklich einfach und unkompliziert. Verwenden Sie path dot live MKDIR, wenn Sie mehr objektorientiertes Framework verwenden möchten, oder wenn Sie nur ein Verzeichnis gleichzeitig erstellen müssen, verwenden Sie OS dot MKDIR andernfalls. Und dann, wenn Sie einen vollständigen Verzeichnisbaum erstellen müssen, würden Unterverzeichnisse OS dot omega d IRS verwenden, wo Sie die übergeordneten Parameter
des Pfades lib dot path, dot-dot, MKDIR Option verwenden können. Sehen wir uns nun an, wie Verzeichnisse funktionieren. Die führenden Verzeichnisse. Zum Löschen von Verzeichnissen können Sie OS dot ARM DIR verwenden, Verzeichnis entfernen, wo Sie den Verzeichnispfad übergeben und dann das einzelne Verzeichnis löschen, oder das ist, was die Funktion tut. Es löscht diese einzelnen Verzeichnisse. Wenn das Verzeichnis nicht leer ist, löst
es einen Betriebssystemfehler aus, da es nicht möchte, dass Sie versehentlich vollständige Verzeichnisse löschen. Sie möchte sicherstellen, dass Sie sie gelöscht haben, bevor Sie sie löschen. Pfad lebte auf Pfad na.rm. Dir ist identisch, außer dass es wie gewohnt auf einem Pfadobjekt arbeitet. Erstellen Sie also zuerst den Pfad und rufen Sie dann seine Don RM DIR-Methode auf. Wenn Sie nicht leere Verzeichnisse oder eine ganze Verzeichnisstruktur löschen müssen, können
Sie trotzdem Shuttle. Sie müssen den Shuttle importieren
, der kurz für Shell Sie bis ist, und dann hat es eine RM-Baumfunktion, wo Sie das als Verzeichnispfad aufrufen können und es wird
den gesamten Verzeichnisbaum löschen, der an diesem Pfad verwurzelt ist. Wenn Sie also einige Unterordner innerhalb dieses Verzeichnisses haben, die Sie aufrufen, werden
diese alle zwei gelöscht, unabhängig davon, ob sie voll oder leer sind. Dies ist also eine Art der nuklearen Option, Verzeichnisse und Python zu löschen. Alles klar, lassen Sie uns einige Verzeichnisse löschen. Also zuerst zeige ich Ihnen das Dateisystem hier. Lassen Sie uns also einen ersten Versuch hier machen und nur sehen, was passiert, wenn Sie
OS na.rm DIR auf Ordner 1 aufrufen . Und natürlich muss ich die Strings einfügen, weil es
der Pfad sein muss , anstatt es gibt keine Variable namens Folder eins. Wie Sie sehen können, ein Betriebssystemfehler, da das Verzeichnis nicht leer ist. Denn wenn ich OS dot list DIR in Ordner 1 aufrufe, hat
es natürlich Python Dateien darin. Das wird also nicht funktionieren. Wenn ich etwas mit OS dot RMD IR löschen möchte, muss
ich wirklich schnell ein neues Verzeichnis erstellen, das alle Test aufrufen. Und dann muss ich eine Liste DIR machen, um Ihnen zu zeigen, dass es da drin ist. Test ist bereits vorhanden, so dass wir ein Verzeichnis mit dem Namen test1 erstellen. Also jetzt gibt es test1 Schrägstrich Verzeichnis, und dieses test1 Schrägstrich Verzeichnis ist tatsächlich leer, so dass es gelöscht werden kann. Dies mag wie eine unkonventionelle Funktion , die Sie nur mit diesen grundlegenden Dingen löschen können,
Verzeichnisse, die leer sind. Aber wirklich ist es nur ein Sicherheitsmerkmal. Es möchte nicht, dass Sie Dinge löschen, wenn es nützliche Dateien in diesem Verzeichnis gibt. Ich will nicht, dass du sie führst, ohne wenigstens darüber nachzudenken, was drin ist. Jetzt kann ich jedoch OS dot RMD sehen. Und jetzt siehst du, dass es zurück ist, es ist wieder weg. Jetzt zeige ich Ihnen, wie Sie einen dieser nicht leeren Ordner tatsächlich löschen können. Für sie müssen Sie Shell Util,
Shuttle importieren , und dann können Sie einfach sagen versucht, auf leeren Ordner zu löschen. Natürlich konnte ich das nicht. Lassen Sie uns ein weiteres Beispiel mit einem Testordner machen. Wieder das Gleiche. Jetzt werde ich einen nicht leeren Ordner wie Module und Pakete löschen. Und jetzt, wenn ich meine Liste DIR hier mache, ist der
Modul- und Paketordner völlig verschwunden, obwohl er Inhalt darin hatte, richtig? Und das funktioniert sogar für Unterverzeichnisse. Dies ist wirklich die schwere Hitter-Option, die einfach alles löscht, ohne das zu tragen, was darin ist. Und das kann so nützlich sein, wenn Sie wissen
, dass alles , was in Ihrem Ordner ist, Müll ist, dass Sie es löschen können. Aber wenn Sie das nicht wissen, sollten
Sie wirklich vorsichtig sein, einige dieser anderen Funktionen zu verwenden, die Sie warnen,
indem Sie einen Fehler werfen, wenn Sie versuchen, etwas zu löschen, das nützliche Dinge enthält. So können Sie Verzeichnisse in Python löschen.
131. Dateien löschen, bewegen und erneueren und erneueren: Jetzt, da Sie wissen, wie Sie Dateien zusammen mit ihren Attributen erstellen und auflisten, wäre
es großartig, wenn Sie sie löschen könnten, wann immer Sie mit ihnen fertig waren. Und das wird natürlich das Thema dieser Lektion sein. Dateien werden gelöscht. Um Dateien zu löschen, haben
Sie wie gewohnt ein paar Optionen, mit dem OS-Modul haben Sie tatsächlich zwei fast identische Funktionen. Immer nicht entfernen und OS Punkt auf Link, die
beide den String-Dateipfad genommen und löschen Sie diese einzelne Datei, nicht ein Verzeichnis, sie erhöhen eine Datei nicht in der Datei gefunden nicht existiert. Und der Grund, dass die beiden identischen Funktionen mit unterschiedlichen Namen
nur eine Frage der Kompatibilität mit verschiedenen Programmierparadigmen sind. Einige Leute in alten oder Art von Unix-Systemen verwenden gerne unlink als ihre bevorzugte Nomenklatur. Während einige Leute in verschiedenen Systemen verwenden entfernen. Es ist nur, um sicherzustellen, dass alle mit dem Pfadlib-Modul zufrieden sind. Sie haben auch eine Punkt-on-Link-Methode, aber dies ist eine Methode des Pfadobjekts. Wie üblich müssen Sie dieses Pfadobjekt initiieren, bevor Sie dot on link aufrufen können. Also das Beispielverzeichnis, das ich dann zum Löschen der Sache verwenden werde, die Dateien mit dem Tochterleadings-Verzeichnisabschnitt dieser Lektion gleich sein. Ich habe ein paar Unterordner mit Dateien darin, und dann habe ich nur ein paar Dateien mit dem Beispielverzeichnis der obersten Ebene. Okay, lassen Sie uns einen Blick darauf werfen, wie diese Datei in der Praxis funktioniert. Ich werde die OS-Punktliste DIR verwenden, um Ihnen zu zeigen, wo ich mich in meinem Dateisystem befinde. Ich habe ein paar Textdateien hier und füge ein paar Ordner hinzu, die ich Ihnen zeigen könnte völlig sicher zu schätzen, dass diese Ordner sind, was wir erwarten, in ihnen zu haben. Ein paar Python Dateien und ein paar andere Ordner haben einige Dinge in ihnen. Lassen Sie uns zuerst die Option zum Entfernen von OS dot hier ausprobieren. Ich rufe es einfach an. Und eine dieser Top-Level-Textdateien, nur zum Spaß, OS dot entfernen. Es gibt Ihnen keine bestimmte Ausgabe,
aber vertrauen Sie darauf, dass es Arbeit ist. Und Sie können das überprüfen, indem Sie erneut die Liste DIR verwenden und Sie können sehen, test1 Punkt TXT ist weg. Das ist also ziemlich gut. Es funktioniert genauso wie erwartet. Und dann funktioniert O S dot on link genau auf die gleiche Weise. Ich werde dies auf Test 2.txt nennen. Und wie Sie sehen können, OS dot list DIR, beide dieser Textdateien sind weg. Alles, was ich noch habe, sind ein paar Ordner. Jetzt werde ich Ihnen ein wenig sagen, wie Sie Dateien und Verzeichnisse kopieren, verschieben und umbenennen. Es gibt mehrere nützliche Funktionen zum Kopieren und Verschieben von Dateien zum Kopieren. Es gibt zwei Möglichkeiten. Es gibt eigentlich drei Optionen mit dem Shuttle Shell-Dienstprogrammmodul, die ich importieren muss. Es gibt eine Kopie, die einen Quell- und einen Zieldateipfad einnimmt und die Datei aus den Quellpfaden in den Zielpfad kopiert. Die Quelldatei wird also noch existieren. Natürlich, Sie kopieren nur, Sie löschen nicht die erste Datei. Das Wichtigste beim Kopieren
ist jedoch, dass es nur die Datei kopiert, den Inhalt der Datei, aber nicht die Metadaten. So werden zum Beispiel Dinge wie die letzte Modifikation Zeit und so weiter nicht erhalten bleiben. Das wird nur auf die Basiswerte zurückgesetzt. Wenn Sie die Metadaten ausführen müssen, können
Sie trotzdem den tionalen Punkt verwenden. Copy to function, die identische Syntax hat. Es kopiert nur die Metadaten als auch. Das sind also unterschiedliche Anwendungsfälle. Dann haben Sie shuttled.com P3, die vollständige Verzeichnisbäume kopiert. Dies ist, was Sie verwenden sollten, wenn Sie Verzeichnisse in irgendeiner Kapazität kopieren möchten, aber versuchen Sie, dies im Auge zu behalten, während der gesamte Baum auf SRC DIR verwurzelt ist. Und dann wird es in das Zielverzeichnis für die Umbenennung kopiert. Oder weil wirklich die beiden im Wesentlichen äquivalent sind, haben
Sie zwei Optionen. Eins mit dem Shuttle-Modul und eins mit dem Betriebssystem. Shuttle Dot bewegen. Es nimmt wieder eine Quelle und einen Zielparameter. Und es verschiebt die Datei oder das Verzeichnis von SRC oder Quelle nach dst, dem Ziel. Dann immer umbenennen wirklich tut im Wesentlichen das Gleiche, weil das Bewegen und Umbenennen wirklich zwei Seiten der gleichen Münze sind, sozusagen. Es benennt die Datei oder das Verzeichnis mit dem alten und dem neuen Namen um. Ich werde schreiben, Ich habe OS importiert und Shuttle soll bereits util. Das erste, was zu tun ist, ist, die Funktionalität der Shuttle-Punkt-Kopie zu zeigen. Ich kopiere einfach Test 1.2x d in eine neue Datei und rufe Backup-Tags auf. Und ich nenne es Backup 1.2x t Nur um
sicherzustellen , dass Sie wissen, dass es ein Backup von Test1 TXT ist. Wie Sie sehen können, gibt Shuttle DOD Copy den Pfad der neu kopierten Datei Back-up ein TXT. Und wenn ich sage ls dot list DIR, Sie können sehen, dass es jetzt einen Test 1.2x T und ein Backup 1.2x T gibt. Also diese ursprünglichen Dateien erhalten und die neue Sicherung wird auch erstellt und diese Dateien werden genau der gleiche Inhalt sein. Wenn Sie nun ein Directory Shuttle kopieren müssen, funktioniert die Punktkopie nicht. Wenn ich versuche, den Ordner eins in den neuen Ordner 1 zu
kopieren, funktioniert das nicht, da Ordner One ein Verzeichnis ist. Dafür müssen Sie den shuttle.com Baum verwenden, der genau das Richtige tut. Es wird den Ordner eins in den neuen Ordner 1 kopieren. Das kann ich mir mal ansehen. Da ist es, Ordner eins, Neuer Ordner, einer perfekt kopiert. Ich kann den Inhalt von Ordner 1 in der Liste der Inhalte
der neuen Version auflisten, nur um sicherzustellen, dass Sie sehen können, dass sie tatsächlich identisch sind. Also dieselbe Datei, dasselbe alles, alles
alles, alles gut kopiert. Seien Sie vorsichtig damit, weil es
den gesamten Verzeichnisbaum dort kopiert und er Unterverzeichnisse, diese werden auch kopiert. Manchmal ist das vielleicht nicht genau das, was du willst. Vielleicht wollen Sie ein bisschen mehr Granularität. Und wenn das der Fall ist, müssen
Sie ein wenig mehr Arbeit machen und diese selbst durch die Verzeichnisse
iterieren. Lassen Sie uns nun über das Verschieben und Umbenennen von Dateien sprechen ,
weil diese wirklich die gleiche Operation sind. Also Ihre Opsins sind Shuttled dot move, und lassen Sie uns versuchen, test.txt in den Ordner einen Schrägstrich test.txt zu verschieben. Wie Sie sehen können, ist test.txt aus dem Verzeichnis der obersten Ebene verschwunden, aber es wird im Ordner eins angezeigt. Das ist also genau so, wie Sie es erwarten könnten. Jetzt funktioniert OS dot umbenennen fast genau die gleiche Weise, wenn Sie versuchen, Backup 2.txt zu verschieben, was eine Datei ist, die nicht in der Fehlermeldung existiert, wird auf unserem Bildschirm angezeigt. Also eine Menge Sachen da, die alles gut funktioniert. Und beide Funktionen funktionieren auch in Verzeichnissen. So können Sie Dateien und Verzeichnisse in Python kopieren, umbenennen und verschieben.
132. Milestone ein interaktives Math: Willkommen alle in diesem Meilenstein-Projektbereich des Kurses. Wir werden diesen Abschnitt beginnen, indem wir ein paar Aufwärmprojektübungen durchlaufen. Wir haben jetzt genug grundlegende Programmierung in Python abgedeckt,
fangen Sie an, unser erstes vollständiges Programm zu programmieren. In diesem Abschnitt werden wir ein Programm programmieren, das unser Verständnis
der mathematischen Reihenfolge der Operationen und der Regeln einer arithmetischen Berechnungtestet der mathematischen Reihenfolge der Operationen und der Regeln einer arithmetischen Berechnung Unser Programm sendet zufällig eine arithmetische Frage für uns zu beantworten. Wenn wir die Antwort falsch bekommen, zeigt
das Programm die richtige Antwort an und fragt, ob wir eine neue Frage wollen Wenn wir es richtig bekommen, wird das Programm fragen, ob wir eine neue Frage wollen. Darüber hinaus wird das Programm den Überblick über
unsere Partituren behalten und die Partituren in einer externen Textdatei speichern. Nach jeder Frage können wir das Programm beenden. Wir werden Dateien für unser Programm schreiben. Wir werden sie Teil eins und Teil zwei nennen. Die erste Datei oder Teil eins, wenn Sie es vorziehen, ist MathFunctions dot pi. Und die zweite Datei, oder der zweite Teil ist mathematische Spiel dot py. Ich habe das Programm in
kleine Übungen aufgeschlüsselt , damit Sie versuchen können, das Programm selbst zu programmieren. Probieren Sie die Übungen aus, bevor Sie sich auf die Antworten beziehen. Antworten finden Sie in Ihren Ressourcendateien. Denken Sie daran, die Python -Syntax zu lernen ist einfach aber langweilig. Problemlösung ist, wo der Spaß liegt, wenn Sie
Schwierigkeiten haben , wenn Sie diese Übungen machen, versuchen Sie es härter. Hier ist die Belohnung die größte. Wenn Sie bereit sind, die Punkte zwischen dem zu verbinden, was Sie
bereits bei der Erstellung eines interaktiven Programms gelernt haben. Lasst uns eintauchen.
133. Teil 1 Importieren und die Ergebnisse der Benutzerbewertung: Um zu beginnen, lassen Sie uns die Datei mathematische Funktionen dot pi erstellen. Wir werden drei Funktionen in dieser Datei definieren. Der erste Schritt besteht darin, zwei Module zu importieren, das Zufallsmodul und das Betriebssystemmodul. Ich möchte die Verwendung des zufälligen Moduls in Python beschreiben, das zufällige Modul bietet Zugriff auf Funktionen, die viele Operationen unterstützen. Vielleicht ist das Interessanteste, dass es Ihnen erlaubt, Zufallszahlen zu generieren, wird die Randint-Funktion für das Zufallsmodul verwenden. Die Zufallsfunktion erzeugt eine zufällige Ganzzahl innerhalb des von uns zur Verfügung gestellten Bereichs. Wir werden sie verwenden, um Zahlen für unsere Fragen
später lief in akzeptiert zwei Parameter zu generieren , eine niedrigste und höchste Zahl. Das OS-Modul in Python bietet Funktionen zum Erstellen und Entfernen eines Verzeichnisses oder Ordners, das Abrufen des Inhalts, Ändern der Identifizierung des aktuellen Verzeichnisses, et cetera, aus dem OS-Modul wird mit den Funktionen Entfernen und Umbenennen . Halten Sie das Video an, und versuchen Sie, diese beiden Module zu importieren. Die richtigen Code-Zeilen sind die folgenden. Der nächste Schritt besteht darin, die Punktzahl des Benutzers zu erhalten. Hier definieren wir unsere erste Funktion. Diese Funktion akzeptiert einen Parameter, Benutzername Typ. Es öffnet die Datei Benutzer Partituren data.txt. In unserem Modus, Benutzer Punktzahl don t x t sieht in etwa so aus. In jeder Zeile werden die Informationen eines Benutzers aufgezeichnet. Der erste Wert ist der Benutzername des Benutzers und der zweite ist die Punktzahl des Benutzers. Als nächstes muss die Funktion die Datei zeilenweise lesen, um eine Schleife zu verwenden. Jede Zeile wird dann mit der Split-Funktion geteilt. Split verwendet Komma als Trennzeichen. Lassen Sie uns das Ergebnis der IIT Split-Funktion in der Liste Inhalt speichern. Als nächstes wird die Funktion, die wir überprüfen, ob eine der Zeilen
den gleichen Benutzernamen hat , der Wert, der als Parameter übergeben wird. Wenn dies der Fall ist, schließt die Funktion die Datei und gibt die Punktzahl neben diesem Benutzernamen zurück. Wenn dies nicht der Fall ist, schließt die Funktion die Datei und gibt die Zeichenfolge minus1 zurück.
134. Teil 1 Exception und Aktualisierung der Benutzerbewertung: Jetzt müssen wir einige Änderungen an
unserem Code machen würde unsere Datei öffnen, bevor wir den ARM-Modus verwenden. Dies hilft, versehentliche Änderungen an der Datei zu verhindern. Beim Öffnen einer Datei und unserem Modus in
IO tritt jedoch ein Fehler auf, wenn die Datei nicht bereits existiert. Daher, wenn wir das Programm zum ersten Mal ausführen, werden
wir mit einem Fehler enden, da die Dateien Benutzer Punktepunkte TXT vorher nicht existiert. Um diesen Fehler zu verhindern, können wir eine der folgenden Aktionen ausführen. Anstatt die Datei in unserem Modus zu öffnen, können
wir sie mit dem W-Modus öffnen. Beim Öffnen im W-Modus wird
eine neue Datei erstellt, wenn die Datei vorher noch nicht existiert. Das Risiko bei dieser Methode besteht darin, dass wir versehentlich in die Datei schreiben können,
was dazu führt, dass der vorherige Inhalt gelöscht wird. Da unser Programm jedoch ein kleines Programm ist, können
wir unseren Code sorgfältig überprüfen, um versehentliches Schreiben zu verhindern. Die zweite Methode besteht darin, eine try except-Anweisung zu verwenden, um den IO-Fehler zu behandeln. Tun Sie das, wir müssen alle unsere vorherigen Codes in den try-Block setzen und
dann außer IO-Fehler verwenden, um die Datei nicht gefunden zu behandeln. Fehler im Except-Block informiert Benutzer, dass Dateien nicht gefunden wurden, und dann fahren Sie mit dem Erstellen der Datei fort. Wir verwenden die offene Funktion mit W-Modus, um es zu erstellen. Der Unterschied hier besteht darin, dass die Verwendung des W-Modus, wenn die Datei nicht gefunden wird. Wenn die Datei anfänglich nicht existiert, besteht kein Risiko, frühere Inhalte zu löschen. Nach dem Erstellen der Datei wird geschlossen, die Datei gibt dann die Zeichenfolge minus eins zurück. Sie können eine der oben genannten Methoden wählen, um diese Übung abzuschließen, aber ich bevorzuge die zweite Methode. Also lasst uns den Code ändern. Jetzt werden wir eine weitere Funktion namens Update User Points definieren, die in drei Parametern,
neuen Benutzer, Benutzername und die Partitur nimmt . Neuer Benutzer kann entweder „true“ oder „false“ sein. Wenn der neue Benutzer true ist, öffnet
die Funktion die Dateibenutzer Punkt-TXT und Anfügemodus und fügt den Benutzernamen des Benutzers und die Punktzahl an die Datei, wenn er oder sie das Spiel beendet. Wenn der neue Benutzer falsch ist, aktualisiert
die Funktion die Punktzahl des Benutzers in der Datei. Es gibt jedoch keine Funktion in Python, die es uns ermöglicht, die Textdatei zu aktualisieren. Wir können nur schreiben, um es anzuhängen, aber nicht aktualisiert. Daher müssen wir eine temporäre Datei erstellen. Dies ist eine ziemlich gebräuchliche Praxis in der Programmierung. Lassen Sie uns diese Datei Benutzer Punktepunkte TMP nennen und öffnen Sie sie im W-Modus. Jetzt müssen wir durchlaufen Benutzer Punktzahl don t x t, und kopieren Sie die Daten Zeile für Zeile an Benutzer force.html. Bevor das Kopieren jedoch überprüft wird, ist der Benutzername in
dieser Zeile derselbe wie der durch den Parameter bereitgestellte Benutzername. Wenn es gleich ist, wird die Partitur in eine
neue Partitur vor dem Schreiben in die temporäre Datei ändern . Zum Beispiel, wenn ein Umfang der Funktion zur Verfügung gestellt oder falsch ist, Andreas und 30, zum Beispiel, Update Benutzerpunkte fällt Andreas 30. Die folgende Tabelle zeigt den Unterschied zwischen den ursprünglichen Benutzerpunkten Punkt TXT und den neuen Benutzerpunkten Punkt TMP. Nachdem wir das Schreiben an Benutzer Score Dot TMP beendet haben schließt beide Dateien und löscht Benutzer Partituren Punkt TXT. Schließlich werden wir Benutzer Partituren Don TMP in Benutzer Partituren Punkt TXT umbenennen.
135. Teil 1 Generationen: Wir sind nun zu dem wichtigsten Teil des Programms gekommen, die mathematische Fragen zu
generieren, die Fragen zu degenerieren. Lassen Sie uns zunächst drei Variablen, zwei Listen in einem Wörterbuch deklarieren. Wir werden die beiden Liste,
Operanden Liste in der Operatorliste nennen . Operandenliste sollte fünf Zahlen mit 0 speichern ist ihre Anfangswerte. Operatorliste sollte für Zeichenfolgen mit Leerzeichen als Anfangswerte gespeichert werden. Das Wörterbuch besteht aus vier Paaren mit den ganzen Zahlen eins bis vier ist die Wörterbuchschlüssel und Addition, Subtraktion, Multiplikation und Exponentiation fügt die Daten. Lassen Sie uns diesen Operator dict nennen. Zuerst müssen wir die Anfangswerte unserer Operandenliste durch
einige Zufallszahlen ersetzen , die von der zufälligen INT-Funktion generiert werden. Rand INT-Funktion nimmt in zwei Parametern, Start und Ende und gibt eine zufällige ganze Zahl n ist wie die als kleiner oder gleich n oder weniger gleich Ende. Zum Beispiel, wenn Rand INT1 dynein aufgerufen wird, wird
es zufällig eine ganze Zahl von den Zahlen eins bis
neun zurückgeben, um unsere Operandenlistenvariable mit Zufallszahlen zu aktualisieren, wir können dies eins nach dem anderen tun, da Operanden nur hat fünf Mitglieder wie diese. Jedes Mal, wenn rand INT ein dynein aufgerufen wird, wird
es zufällig eine ganze Zahl von den Zahlen eins bis neun zurückgeben. Dies ist jedoch nicht der cleverste Weg, unsere Operandenliste zu aktualisieren. Entsprechend, wie umständlich es wäre, wenn die Operandenliste 100 Tausend Mitglieder hat. Eine bessere Alternative ist, eine for-Schleife wie diese zu verwenden. Großartig. Nun, da wir die Zahlen haben, an denen wir arbeiten müssen, müssen wir zufällig für mathematische Symbole für unsere Frage generieren. Um zu tun, dann werden wir die rand INT-Funktion und den Operator D ICT Wörterbuch verwenden. Ran Di Andy generiert den Wörterbuchschlüssel
, der dann mit dem Operator dict Wörterbuch dem richtigen Operator zugeordnet wird. Um beispielsweise der Operatorliste 0 ein Symbol zuzuweisen, schreiben wir. Sie sollten also eine for-Schleife verwenden, um diese Aufgabe abzuschließen. Es gibt jedoch ein Problem, das diese Übung schwer genug macht. Erinnern Sie sich, dass in Python Exponentiation oder zwei Sternchen zum Beispiel für Exponent steht. Das Problem ist, wenn wir zwei aufeinanderfolgende Exponente Operatoren in Python haben, also nur zwei Exponenten, drei Exponenten zwei. Im ersten Fall ist die Antwort zwei auf die Macht von neun, die 512 ist. Im zweiten Fall ist die Antwort acht auf die Macht von zwei, die 64. Daher, wenn wir eine Frage wie Exponent drei präsentieren, Exponent zu, wird der Benutzer die Antwort falsch bekommen, wenn er es so interpretiert. Um dieses Problem zu vermeiden, werden
wir unseren Code so ändern, dass wir nicht zwei aufeinanderfolgende Zeichen erhalten. Mit anderen Worten, diese Operatorliste ist in Ordnung. Aber diese Operatorliste ist es nicht. Dieser Park ist das Schwierigste unter allen Teilen des Projekts. Lassen Sie uns versuchen, eine Lösung zu finden, um zwei aufeinanderfolgende Exponenten Zeichen zu verhindern. Ausgehend von dem zweiten Element,
IE-Index gleich eins und der Operatorliste, die Zeile, wenn Index größer als 0 und Operatorliste Index minus eins, nicht gleich zwei aufeinanderfolgenden Exponenten. Signs überprüft, ob das vorherige Element in der Operatorliste das Exponentensymbol ist. Wenn es nicht der Anweisungsoperator ist gleich Operator. Dick rand IN T12 vier wird ausgeführt da der Bereich an die rand INT-Funktion gegeben ist eins bis vier, die Zahlen 123 oder vier werden generiert, daher die Symbole plus minus multiplizieren unser Exponent wird dem zugewiesen werden Variablen-Operator. Wenn das vorherige Symbol jedoch exponent ist, der else-Anweisungsoperator gleich Operator dict rand IN T1. T3 wird ausgeführt. In diesem Fall ist der Bereich, der der rand INT-Funktion gegeben wird, von eins bis drei. Daher wird das Exponentensymbol, das einen Schlüssel von vier hat und Operator Dick nicht der Operatorvariable zugeordnet werden.
136. Teil 1: Jetzt, da wir unsere Operatoren und Operanden haben, werden
wir versuchen, den mathematischen Ausdruck als String zu generieren. Dieser Ausdruck verwendet die fünf Zahlen aus unserer Operandenliste
und das Format medizinische Symbole aus unserer Operatorliste, um eine Frage zu bilden Wir müssen eine andere Variable namens
Fragezeichenfolge deklarieren und den mathematischen Ausdruck Fragenzeichenfolge. Beispiele für Fragen Zeichenfolge umfassen. Wir werden eine for-Schleife verwenden, um sich auf
die einzelnen Teilzeichenfolgen aus Operandenliste und Operatorliste zu konzentrieren . Um den mathematischen Ausdruck zu erhalten. Wir sollten nun den mathematischen Ausdruck als String der variablen Fragezeichenfolge zugewiesen haben. Um das Ergebnis dieses Ausdrucks zu bewerten, werden
wir eine brillante integrierte Funktion verwenden, die mit Python kommt. Das Böse. Evil interpretiert eine Zeichenfolge als Code und führt den Code aus. Zum Beispiel, wenn wir E-Mail eins plus zwei plus vier schreiben, erhalten
wir die Nummer sieben. Um das Ergebnis unseres mathematischen Ausdrucks zu bewerten, übergeben
wir die fragliche Zeichenfolge an die eval Funktion und weisen das Ergebnis einer neuen Variablen mit dem Namen Ergebnis zu. Diese Tiefe ist ziemlich unkompliziert und kann in einer Codezeile abgeschlossen werden. Schließlich werden wir mit unserem Benutzer interagieren. In dieser Übung werden wir ein paar Dinge tun. Schritt eins, zeigt die Frage an den Benutzer an. Schritt zwei und fordert den Benutzer auf, eine Antwort einzugeben. Schritt drei, die Antwort auswerten, die entsprechende Nachricht
anzeigen und die Bewertung des Benutzers zurückgeben. Für Schritt eins müssen wir eine eingebaute Funktion zum Bearbeiten von Strings verwenden, wie bereits in Python erwähnt, steht
das zwei Sternzeichen für Exponent, also 32, Asterix drei gleich 27. Für die meisten Benutzer hat Asterix jedoch keine Bedeutung. Daher, wenn wir eine Frage als diese anzeigen, wird
der Benutzer wahrscheinlich verwirrt sein. Um dies zu verhindern,
werden zwei abstrakte Symbole in Frage String durch ein Karat-Symbol ersetzt . Um dies zu tun, werden wir die Funktion ersetzen einbauen, indem sie einfach ist. Genau richtig. Jetzt können Sie den resultierenden Ausdruck an den Benutzer drucken. Für Schritt zwei können wir die Eingabefunktion verwenden, um Benutzereingaben zu akzeptieren. Für Schritt drei sollten wir
eine if-Anweisung verwenden, um die Antwort zu bewerten und die richtige Nachricht anzuzeigen. Wenn der Benutzer das richtige bekommen, werden
wir den Benutzer beglückwünschen und den Wert eins zurückgeben. Wenn der Benutzer es falsch
bekommt, zeigt die richtige Antwort an und gibt den Wert auf 0 zurück. Was ist, wenn die Eingabefunktion Benutzereingaben als String zurückgibt? In diesem Fall müssen Sie, wenn Sie die Eingabe des Benutzers mit der richtigen Antwort vergleichen, einige Typecasting durchführen, um die Benutzereingabe in eine Ganzzahl zu ändern. Wenn Sie die Benutzereingabe in eine Ganzzahl ändern. Und Sie sollten versuchen, eine try except-Anweisung zu verwenden, um zu überprüfen, ob der Benutzer eine Zahl eingegeben hat. Wenn der Benutzer stattdessen eine Zeichenfolge eingegeben hat, sollte das Programm
den Benutzer über den Fehler informieren und den Benutzer auffordern, ihn in Nummer einzugeben. Also müssen wir eine echte Schleife verwenden, während Sie den Benutzer nach einer Zahl auffordern, solange er Schrägstrich ist, sie tut dies nicht. Schreiben, während wahr ist äquivalent zum Schreiben von etwas wie eins gleich eins, da man immer gleich eins ist, Hände immer wahr. Die Schleife wird auf unbestimmte Zeit ausgeführt. Lassen Sie uns den Code bearbeiten. Die while-True-Schleife wird weiter schleifen, da die while-Bedingung immer wahr ist. Beenden Sie es nur, wenn der try-Block korrekt ausgeführt wird und die return-Anweisung erreicht.
137. Teil 2 Schreiben: Herzlichen Glückwunsch zum Abschluss des ersten Teils und herzlich willkommen zum zweiten Teil. Teil zwei wird ein Kinderspiel sein, da wir hauptsächlich nur die Funktionen aufrufen werden, die wir zuvor definiert haben. Lassen Sie uns zunächst unser Hauptprogramm in eine try ausser Anweisung einschließen. Wir wollen alle unvorhergesehenen Fehler behandeln. Einer, der das Hauptprogramm ausführt, beginnt, indem er den Code für den try-Block schreibt. Zuerst müssen wir das mathematische Funktionsmodul importieren. Lassen Sie uns als Nächstes den Benutzer zur Eingabe seines Benutzernamens auffordern und den Wert dem variablen Benutzernamen zuweisen. Übergeben Sie diese Variable als Parameter an die Funktion und erhalten Sie Benutzer Punktzahl. Get users score gibt entweder die Punktzahl
des Benutzers zurück oder gibt minus eins zurück, wenn der Benutzer nicht gefunden wird. Lassen Sie uns dieses Ergebnis in eine ganze Zahl umwandeln und es der Variablen Benutzerbewertung zuweisen. Jetzt müssen wir den Wert einer anderen Variablen, neuen Benutzer, setzen. Wenn der Benutzer nicht gefunden wird, neue Benutzer gleich true, sonst ist der neue Benutzer falsch. Wenn der neue Benutzer gleich wahr ist, müssen
wir es von der Punktzahl von minus eins zu 0 ändern. Der nächste Teil unseres Programms beinhaltet eine while-Schleife. Insbesondere wird unser Programm die Eingabe von unserem Benutzer auffordern, um festzustellen, ob es das Programm beenden oder etwas anderes tun soll. Schritt eins, Sie müssen eine andere Variable deklarieren, welche Benutzerwahl, und geben Sie ihr einen Anfangswert von 0. Schritt zwei. Als nächstes, während Sie eine while-Schleife verwenden, vergleichen Sie die Benutzerwahl mit einer Zeichenfolge Ihrer Wahl, sagen Sie minus eins. Wenn die Benutzerwahl nicht identisch mit minus1 ist, hat der Funktionsgenerator aufgerufen. Um eine neue Frage zu generieren. Schritt drei, Januar Frage wird eine Punktzahl zurückgeben, die der Benutzer Gott für diese Frage, verwenden Sie dieses Ergebnis, um die variable Benutzerbewertung zu aktualisieren. Schritt vier schließlich, um eine Endlosschleife zu verhindern, müssen
wir die Eingabefunktion wieder mit der while-Schleife verwenden, um die Benutzereingabe zu akzeptieren und sie zu verwenden, um den Wert der Benutzerwahl zu aktualisieren. Schließlich, nachdem die while-Schleife beendet ist, der nächste Schritt darin, die Benutzerpunkt-TXT-Datei zu aktualisieren. Dazu rufen wir einfach die Update-Benutzerpunkte-Funktion auf. Das ist alles für den try-Block. Jetzt der außer Block, wir informieren den Benutzer einfach, dass ein Fehler aufgetreten ist und das Programm beendet wird. Wird diese feucht beenden, haben
Sie ein komplettes Programm. Lassen Sie uns das Programm starten. Das Programm wird nach einem Benutzernamen fragen. Geben wir meinen Namen ein. Dann generiert das Programm eine Frage. Der mathematische Ausdruck, den ich berechnen muss, werde
ich die Zahlen jetzt nicht berechnen, also werde ich eine Zufallszahl eingeben. Natürlich ist meine Antwort falsch und es gibt eine richtige Antwort. Danach fragt mich das Programm, ob ich
fortfahren oder minus1 eingeben möchte , um das Programm zu beenden. Ich werde ein anderes Beispiel machen. Es funktioniert großartig. Aufgeregt. Ich hoffe, du bist genauso aufgeregt wie ich. Wir sind zum Ende seines Meilenstein-Projekts gekommen und hoffentlich haben Sie Ihr erstes Programm erfolgreich codiert. Wenn Sie Probleme beim Abschließen einer Übung haben, lassen
Sie es mich wissen. Aber wir sind noch nicht fertig. Ich habe eine zusätzliche Übung für Sie, um sich selbst herauszufordern. Manchmal kann die generierte Frage zu
einer Antwort führen , die sehr groß oder sehr klein ist. Es ist sehr unbequem für Benutzer zu berechnen und Schlüssel in einer sehr großen oder sehr kleinen Zahl. Daher wollen wir Antworten vermeiden, die zu groß oder klein sind. Können Sie das Programm ändern, um Fragen zu verhindern, die in Antworten
größer als 10 Tausend und kleiner als negative 10 Tausend führen . Versuchen Sie, den Code zu ändern und überprüfen Sie den Code aus Ihren Ressourcendateien. Danke fürs Zuschauen.