Ich habe einen Python-Text gemacht

● Textkörper (PDF-Format 299 Seiten: 3,12 MB) Aktualisiert am 14.05.2020 (→ DL von der Spiegelseite) Hauptbibliotheken erwähnt:  Kivy, argparse, socket, threading, concurrent, requests,  BeautifulSoup, mpmath, subprocess, datetime, pickle, struct,  base64, collections, enum, shutil, zipfile, wave, PyAudio,  Tkinter → Beispielprogramm im Text __ [So lernen Sie] __ Führen Sie die Probe aus, während Sie die Kapitel 1 und 2 lesen. Ich finde es gut zu verstehen, wenn ich das tue. (Sie können die Teile überspringen, die Sie schwierig finden) Lesen Sie die anderen Kapitel nach Bedarf. Machen Sie Ihre eigene Variation des Ausführungsbeispiels im Text Sie werden Ihr Verständnis vertiefen, wenn Sie fortfahren, während Sie es versuchen. Für diejenigen, die Python bereits teilweise kennen, Grammatik und Beispiele Ich denke, es kann auch verwendet werden, um es herauszufinden. ● Bibliotheksbuch (PDF-Format 185 Seiten: 3,41 MB) Update 2020/06/03 (→ DL von der Spiegelseite) (Alter Name: Python3-Modulbuch) Bibliothek erwähnt:  OpenCV, Pillow, pygame, Eel, PyDub, NumPy, matplotlib,  SciPy, SymPy, hashlib, passlib, Cython, Numba, ctypes,  PyInstaller, JupyterLab, json, urllib, zenhan, jaconv → Beispielprogramm im Bibliotheksbuch Obwohl NumPy und Matplotlib äußerst anspruchsvoll sind Ich mache mir Sorgen, an wie viel ich mich erinnern sollte. Damit Die Menge an Inhalten, die "Wenn Sie sich vorerst daran erinnern, wird es später einfacher sein" Ich suche es. --------------------- Einführung in Seminaraktivitäten mit Python. → Einführung in Aktivitäten, die Python anwenden --------------------- Ich schreibe einen Artikel, weil ich möchte, dass die Leute ruhig über die Stärken / Schwächen von Python nachdenken, falls einige Leute blind an Python glauben. → Berücksichtigung der Vor- und Nachteile von Python --------------------- [Nützlicher Link] ・ Kompilierte Bibliothek für Windows Es ist ein Format, das von PIP installiert werden soll. Dies ist praktisch, wenn die Standardinstallationsmethode nicht funktioniert. (Es bedeutet "inoffiziell", gehen Sie also bitte Ihr eigenes Risiko ein.) --------------------- [Datenverarbeitung] Ich mache einen Text über die Grundkenntnisse der Datenverarbeitung mit Python. Es ist immer noch ein Prototyp, und ich würde gerne Ihre Meinungen und Ratschläge hören. → Text der Datenverarbeitung durch Python --------------------- 【PySimpleGUI】 Wahrscheinlich die am einfachsten zu verwendende GUI-Bibliothek für Python. Ich würde gerne Ihre Meinung hören. → Grundlegende Verwendung der PySimple-Benutzeroberfläche ---------------------   (2017/05/16) Ich unterrichte Programmieren in der Schule. Ich habe einen Einführungstext für Python 3 erstellt, um Anfänger zu unterrichten. Es ist eine Haltung eines Einführungsbuchs für diejenigen, die bereits eine Sprache beherrschen, um sich schnell an Python zu gewöhnen.   Es wird sofort erklärt, bis zu dem Punkt, an dem Sie mit der GUI-Bibliothek "Kivy" eine Anwendung erstellen können. (Einführung in Kivy) Außerdem wird eine einführende Erläuterung der Anforderungen und von BeautifulSoup4 für das Web-Scraping bereitgestellt. (Grundlegende Erklärung zu Tkinter)   Obwohl der Abschlussgrad noch niedrig ist, wird der Text überarbeitet und aktualisiert, wenn er im Bildungsbereich verwendet wird. Wir werden es kostenlos veröffentlichen, daher wären wir Ihnen dankbar, wenn Sie uns Ihre Meinung mitteilen könnten. Wenn Sie Fehler finden, lassen Sie es uns bitte wissen. Kontaktinformationen finden Sie auf der Rückseite des Textes.

Einführungsseite   Diejenigen, die dies nutzen möchten, sind willkommen. Ich möchte den Grad der Perfektion verbessern, während ich Meinungen erhalte. Insbesondere hoffe ich, dass es von Lehrern verwendet wird, die in der Schule Programmieren unterrichten. Wir würden uns freuen, wenn Sie uns Anfragen oder Vorschläge aus der Praxis geben könnten. (Reflektieren Sie so viel wie möglich im Text) Wenn es in den Geltungsbereich dieses Buches fällt, können Sie uns auch Ihre Fragen senden. Wir werden unser Bestes tun, um Sie unterzubringen.

Wir vertreiben auch Video Teaching Materials, das den Inhalt des Textes zusammenfasst.

Ergänzung (Updates, Informationen usw.)

-------------- [Nachtrag](2020/05 / 27-06 / 03) Zum Bibliotheksbuch hinzugefügt. Ich habe der Erklärung zum Umgang mit NumPy- und SymPy-Matrizen verschiedene Ergänzungen hinzugefügt. Ich habe eine Erklärung zum Zeichnen eines Kreisdiagramms und eines horizontalen Balkendiagramms mit matplotlib hinzugefügt. Dem Erklärungsteil der CSV-Ausgabe des NumPy-Arrays wurde hinzugefügt (wie der Header angegeben wird). Andere geringfügige Änderungen   -------------- [Nachtrag](2020/04 / 05-05 / 14) Zum Textkörper hinzugefügt. Ich habe dem Teil der geteilten Zuweisung ein wenig hinzugefügt. Kommentar zum Float-Berechnungsfehler hinzugefügt. Es wurde ein Kommentar zum zipfile-Modul für die Verwaltung von ZIP-Archiven hinzugefügt. Die grundlegendste Erklärung zu pprint wird veröffentlicht. Einige Ergänzungen zum regulären Ausdruck. Wir haben ein Beispiel veröffentlicht, das Zahlen mit Dezimalstellen in Binärzahlen / umgekehrte Konvertierung konvertiert. Kommentar zur Kette der Vergleichsoperatoren hinzugefügt. Einige Ergänzungen zum Anhang "Verwaltung der Speichernutzung". Andere kleinere Korrekturen (Ich finde jedes Mal peinliche Fehler, wenn ich nachschaue ...)   Zum Bibliotheksbuch hinzugefügt. Erklärung zum Zeichnen eines 3D-Balkendiagramms mit matplotlib hinzugefügt. Außerdem einige Ergänzungen zur Erklärung der Nullmatrixerstellung (NumPy). Die Datei-E / A-Methode wurde zur Erläuterung des JSON-Moduls hinzugefügt. Einige Ergänzungen zu den Teilen min, max, argmin und argmax von NumPy. Ich erklärte, wie man Polarkoordinaten mit matplotlib zeichnet. Im Abschnitt des Sympy-Moduls sind die Erläuterung der var-Funktion und die Erläuterung der Funktionen in Bezug auf Primzahlen enthalten.   (Entschuldigung) Die Erklärung zur LaTeX-Ausgabe im Sympy-Abschnitt des Bibliotheksbuchs ist fehlerhaft. Bitte ersetzen Sie es durch die neueste Version, da es korrigiert wurde.   -------------- [Ergänzung](2020/03 / 13-24) Zum Textkörper hinzugefügt. Erläuterung zur Ausgabe einer Datei mit der Druckfunktion hinzugefügt. Es wurde ein Kommentar hinzugefügt, wie ein Tupel von Variablen nach der for-Anweisung geschrieben und eine geteilte Zuweisung durchgeführt wird. Erklärung zu Sammlungen hinzugefügt. Es wurde ein Kommentar zu issubclass hinzugefügt, um die Vererbungsbeziehung von Klassen zu überprüfen. Hinzugefügt bezüglich der Ausgabe von WAV-Dateien. Sonstige Ergänzungen und Korrekturen

Zum Bibliotheksbuch hinzugefügt. Erklärt, wie NumPy-Arrays eindeutig aggregiert werden. Erklärt, wie Elemente in das NumPy-Array eingefügt und gelöscht werden.   -------------- [Ergänzung](2019/12 / 01-20) Zum Textkörper hinzugefügt. Dem regulären Ausdruck hinzugefügt (re, sub, plit). Ich habe eine Beschreibung zu Splitlines hinzugefügt, die eine Zeichenfolge aufteilt, die mehrere Zeilen umfasst. Die Erklärung zur Zuweisungsformel (Python3.8 ~) ist enthalten. Eine Beschreibung des Argparse-Moduls für das Parsen von Befehlsargumenten wurde hinzugefügt. Eine rudimentäre Erklärung zum Enum-Modul wurde hinzugefügt. Andere kleinere Korrekturen und Ergänzungen.   -------------- [Ergänzung](2019/09 / 01-14) Einige Ergänzungen und Korrekturen am Textkörper. Wir haben ein Beispielprogramm veröffentlicht, das alle Unicodes auflistet, in denen Zeichen definiert sind.

-------------- [Nachtrag](2019/08 / 01-31) Zum Textkörper hinzugefügt.

Sie haben auf die Notation des Symbols "" hingewiesen (oder gescholten). Da der Text in TeX geschrieben ist, ist es schwierig, das "japanische Kreissymbol" mit halber Breite zu löschen, und es gab viele Teile, die mit dem "¥" in voller Breite geschrieben wurden. Wie Sie betont haben, ist dies eine sehr schlechte Sache, also werde ich es beheben. → (Es wurde erheblich behoben)

Zum Bibliotheksbuch hinzugefügt. Ein Beispiel für das Verfahren zum Zeichnen eines dreidimensionalen Streudiagramms mit matplotlib wird veröffentlicht. Ich fing auch an, über SciPy zu schreiben. Sonstige Ergänzungen und Korrekturen. __Korrektur und Entschuldigung __: Es liegt ein Fehler im Beispielprogramm Scatter3d01.py vor, das in der Version 7/31 des Bibliotheksbuchs veröffentlicht wurde. Bitte ersetzen Sie es durch die neueste Version, da es korrigiert wurde.   -------------- [Nachtrag](2019/06 / 08-07 / 26) Zum Textkörper hinzugefügt. Ein Beispielprogramm zur Untersuchung, wie stark sich die Berechnungsgeschwindigkeit ändert, je nachdem, ob NumPy verwendet wird oder nicht, ist im Anhang enthalten. Außerdem habe ich eine Erklärung hinzugefügt, wie die Anzeige von Warnmeldungen unterdrückt werden kann, sowie einen Inhalt, der den Speicherprofiler einführt, der die Speichernutzung des Python-Verarbeitungssystems überprüft. Diese werden bei der Datenverarbeitung mit Jupyter Lab benötigt.   Einige Ergänzungen zum NumPy-Teil des Bibliotheksbuchs. Ich erklärte, wie man die hohe Geschwindigkeit der Matrixberechnung anwendet und wie man Bilder als Array-Daten behandelt. Zusätzlich habe ich eine Beschreibung der Tabellenfunktion hinzugefügt, die ein zweidimensionales Array als Tabelle mit matplotlib zeichnet. __Korrektur und Entschuldigung __: In der Erklärung der FFT von NumPy wurde "Amplitudenspektrum" fälschlicherweise als "Leistungsspektrum" beschrieben. Es tut mir Leid. Ich habe es korrigiert, bitte ersetzen Sie es.

-------------- [Nachtrag](2019/05 / 21-06 / 06) Der Name "Modulbuch" ist möglicherweise nicht gut. Im Inhalt der verteilten Textserie bleibt der Umgang mit Begriffen wie "Modul", "Paket" und "Bibliothek" falsch. Ich begann darüber nachzudenken, es zu reparieren. Ändern Sie den Namen in "Python3 Library Book".

Laut der Website des Ministeriums für Bildung, Kultur, Sport, Wissenschaft und Technologie wird Python für die Programmierung in Informationsabteilungen von Gymnasien verwendet. Es steht geschrieben. Ich bin der Meinung, dass der Inhalt des zu verteilenden Textes sehr sorgfältig abgewogen werden muss.

-------------- [Ergänzung](2019/05 / 01-18) Zum Textkörper hinzugefügt. Ich habe einen Kommentar zur Aufzählung hinzugefügt. Je mehr Sie lernen, desto mehr erkennen Sie, dass Python "ein Schatz an Tricks für eine einfache Bedienung" ist.

Zum Modulbuch hinzugefügt. Ich habe den Teil von NumPy hinzugefügt. Die grundlegende Verwendung des PyDub-Moduls wird veröffentlicht. Darüber hinaus einige Ergänzungen im Zusammenhang mit OpenCV und PyGame. Es ist fast Zeit, das Modulbuch als Ganzes zu überprüfen (zu überarbeiten) (bitte warten)

-------------- [Nachtrag](2019/04 / 06-30) Zum Textkörper hinzugefügt. Da F-String eine sehr praktische Funktion ist, habe ich eine Erklärung seiner grundlegenden Verwendung beigefügt. Außerdem wurde eine kurze Erklärung zu Anacondas Conda-Befehl hinzugefügt. Zum Modulbuch hinzugefügt. Die Erklärung zum Zeichnen einer Wärmekarte mit matplotlib und zum Konvertieren eines Bildes in ein numerisches Pixelarray ist enthalten. Zusätzlich wurden einige Erklärungen zu NumPy hinzugefügt und geändert.   -------------- [Nachtrag](2019/02 / 22-03 / 28) Pflege des Textkörpers.

Kivy wird empfohlen, um "anständige Apps" zu erstellen.   -------------- Nachtrag Da es notwendig wurde, Fensterzeichnungen und Tastatur- und Maushandhabung mit hoher Geschwindigkeit auszuführen, begann ich zusammenzufassen, wie Pygame verwendet wird.   Ich werde es bald zum Modulbuch hinzufügen.   -------------- Nachtrag Zum Textkörper hinzugefügt. Es wurde eine Methode hinzugefügt, mit der überprüft werden kann, ob im Wörterbuch im Erklärungsteil des Objekts vom Typ Wörterbuch ein Schlüssel vorhanden ist. Auch zur Datentypkonvertierung hinzugefügt. Mir wurde klar, dass die Erklärung der überraschend rudimentären Dinge fehlte. Wenn Sie den Text tatsächlich verwenden, werden Sie schließlich nacheinander Risse finden. Textkörper   -------------- Nachtrag Die Einführungserklärung zu hashlib ist im Modulbuch enthalten. Modulbuch (Modul zur Erzeugung kryptografischer Hashs) Erforderlich zum Verbergen von Kennwortzeichenfolgen und zum Erstellen digitaler Signaturen für Dokumente.   -------------- Nachtrag Ich habe den Teil von "Liste mit for generieren" im Hauptteil des Textes hinzugefügt und auch die Konvertierung zwischen Zeichen und Zeichencodes hinzugefügt. Textkörper   Wenn Sie es für Schüler verwenden, werden weitere Teile hinzugefügt.   -------------- Nachtrag "Haftungsausschluss" wurde zu jedem Text hinzugefügt.   -------------- Nachtrag Ich habe dem Text selbst ein wenig hinzugefügt. (Teil des Teilprozesses) Außerdem habe ich einen Kommentar zum Verketten von Zeichenketten hinzugefügt. (Ich habe die Erklärung verpasst, obwohl es eine wichtige Methode ist) Textkörper   -------------- Nachtrag Der Index des Textes selbst war schlecht, deshalb habe ich ein wenig hinzugefügt. Textkörper   -------------- Nachtrag Ich erhielt eine Frage (Anfrage?) "Möchten Sie das Pandas-Modul erklären?"   bitte warte eine Weile. Ich habe auch nur einen Körper ... Ich war jedoch besorgt darüber, so dass ich es um die Sommerferien beginnen kann. Ich werde es tatsächlich für meine Seminaraktivitäten benötigen ... (Ich habe kein Versprechen, wann es sein wird)   Pandas scheinen für statistische Analysen nützlich zu sein.   -------------- Nachtrag Ich fing an, Numpy und Matplotlib in das Modulbuch zu schreiben. Modulbuch   Von nun an scheint die Anzahl der Ergänzungen zum Modulbuch mit den Aktivitäten des Seminars zuzunehmen.   -------------- Nachtrag Es wurde eine Methode zum Starten eines externen Programms mithilfe des Unterprozessmoduls hinzugefügt. Textkörper Außerdem wird erläutert, wie Sie mehrere externe Programme starten und Pipe-E / A asynchron mit ihnen ausführen.   In Bezug auf das Asyncio-Modul scheint es über den Rahmen von "Anfänger" und "Einführung" hinauszugehen, daher denke ich darüber nach, es zu einem Kommentarinhalt in einer anderen Form als diesem Text zu machen. (Leichte Richtlinienänderung)   Wenn Sie danach eine einführende Erklärung der Numpy- und Matplotlib-Module in das Modulbuch aufnehmen, können Sie sie anscheinend für eine Weile als Lehrmaterial für Seminare verwenden.   Außerdem habe ich eine Methode zum Generieren von Zufallszahlen hinzugefügt. (Unverzichtbar für die Erstellung von Spielen)   -------------- Nachtrag Numpy ist ein Standard für numerische Hochgeschwindigkeitsoperationen in Python. Numpy ist jedoch nicht in jedem Aspekt des Forschungsthemas universell, und um eine numerische Lösung einer willkürlich festgelegten Differentialgleichung zu erhalten, muss ein Simulationsprogramm einzeln geschrieben werden.   In Bezug auf Numpy werde ich eine einführende Erklärung in das Modulbuch schreiben, aber da ich mich so schnell wie möglich mit dem Thema meines Seminars befassen muss, werde ich den Simulationscode für eine Weile in C-Sprache schreiben.   Also werden wir das in C geschriebene Programm (ausführbare Datei) von Python aus aufrufen und nur den Teil, der Geschwindigkeit erfordert, nach C werfen. Es scheint, dass viele Module solche externen Programme aufrufen.   Daher werde ich die Verwendung von Unterprozess- und Asyncio-Modulen im Textkörper so schnell wie möglich zusammenstellen.   -------------- Nachtrag Kivys KV-Sprache, ich muss Informationen für Anfänger organisieren. Ich dachte darüber nach, wie man lernt und wie man sich mit Schülern berät.   Es ist das nächste Thema. Nach einer Weile werde ich den Text korrigieren und wieder hinzufügen ...   -------------- Supplement-2 Die Schüler machten eine "enttäuschende Stimme", als Kivys Texteingabe die japanische Eingabemethode von Windows / Mac nicht unterstützte. Aber es ist noch in der Zukunft.   Die Anzeige kann während der Eingabe beschädigt sein, aber vorerst kann ich irgendwie Japanisch eingeben ... Kivy entwickelt sich gerade. Er überzeugt die Studenten, dass "die Benutzeroberfläche das höchste Potenzial hat und in Zukunft im Mittelpunkt der Aufmerksamkeit stehen wird!" Ich habe persönliche Erwartungen, aber ich werde für eine Weile mit Kivy ausgehen.

Ich denke, es besteht kein Zweifel daran, dass das Update es erheblich verbessern wird.   -------------- Nachtrag Es scheint, dass die japanische Übersetzung der Kivy-Dokumentenseite im Gange ist. Kivy Document Site   Vielen Dank. Dies ist nützlich, wenn Sie eine detaillierte Referenz benötigen.   -------------- Nachtrag Die Einführung in SymPy ist im Modulbuch enthalten. Modulbuch (Formelverarbeitungsmodul) Sie können Dinge wie Mathematica und Maxima tun.   Sie fragen sich vielleicht "Warum SymPy?", Aber das Thema unseres Seminars ist "Vorschlag einer Benutzeroberfläche für ein benutzerfreundliches mathematisches Verarbeitungssystem", und das ist die Situation.   SymPy ist ein großartiges Paket und ein Level, das mit kommerziellen Systemen konkurriert, mit Ausnahme von grafischen Funktionen (wahrscheinlich). Das Handbuch hat auch mehr als 1.700 Seiten in PDF ...   Ich denke, Maxima, das kostenlos als mathematischer Taschenrechner verwendet werden kann, oder Mathematica, wenn Sie Geld haben, ist gut. Sie können problemlos 3D-Diagramme erstellen. (Ich persönlich empfehle nicht, SymPy zu zwingen, ein mathematischer Taschenrechner zu sein. Ich denke, es ist ein Ärger ...)   Ich denke, SymPy wird sehr nützlich sein, wenn Sie Apps entwickeln, die mathematische Verarbeitungsfunktionen enthalten (Lernsoftware, Apps zur Unterstützung des Denkens usw.).   -------------- Nachtrag Über Kivy: Erläuterung der grundlegenden Verwendung von ActionBar (Menü im Kivy-Stil), ScreenManager, Karussell und TabbedPanel hinzugefügt. (Beantwortet auf Anfragen von Studenten)   Außerdem habe ich eine grundlegende Erklärung zum Clock-Modul hinzugefügt, das für die Behandlung von Zeitereignissen (Timern) in Kivy erforderlich ist. Es gab einen Studenten, der versuchte, den Vorgang des Beginns zum Zeitpunkt in der GUI-Anwendung für und während zu wiederholen. Stellen Sie stattdessen einen Timer ein.   Damit frage ich mich, ob ich Anleitungen zum Erstellen von Apps geben kann ...   Ich mache mir Sorgen um das Knacken, aber ich werde es mit der Zeit zerquetschen. Textkörper Wenn Sie Probleme haben, kontaktieren Sie uns bitte. Wir werden es korrigieren und sofort hochladen. -------------- Supplement-2 Wenn Sie beim Erstellen einer App mit Kivy die KV-Sprache verwenden, ist das Debuggen für Anfänger etwas schwierig ...   Wenn Sie in einem Python-Programm einen Fehler machen, ist die Fehlermeldung leicht zu verstehen, aber es ist schwierig, den in KV gemachten Fehler zu erkennen ... Kurz gesagt, die Meldung "In welcher Zeile der KV-Sprache liegt ein XX-Fehler vor" wird nicht angezeigt.   Für Experten wird die KV-Sprache in Bezug auf die Entwicklungseffizienz geschätzt, für Anfänger wird die KV-Sprache wahrscheinlich die Effizienz des Lernens verringern ...   Bis Sie sich an Kivy gewöhnt haben, ist es meiner Meinung nach besser, APIs normal in Python zu schreiben, aber was denken Sie ...   -------------- Nachtrag Wir haben Sie nach der Handhabung von Kivys Frame Buffer (FBO) gefragt und einen Kommentar hinzugefügt. Es scheint schwierig zu sein, den Pixelwert mit einer gewöhnlichen Leinwandzeichnung zu extrahieren. Deshalb verwenden wir FBO. Textkörper   -------------- Nachtrag Die Einführungserklärung zu Pillow ist im Modulbuch enthalten. Modulbuch (Bildverarbeitungsmodul) Sie können Dinge wie Photoshop tun.   -------------- Nachtrag Das Erscheinungsdatum ist Juli, aber ich erhielt sofort eine Stimme mit der Aufschrift "Ich möchte, dass Sie mir den Umgang mit dem Sound beibringen", also fügte ich den Inhalt hinzu. (Welle, PyAudio) Darüber hinaus haben wir als Reaktion auf Konsultationen von Studenten einige Ergänzungen und Korrekturen vorgenommen.   Ich fing an, ein "Modulbuch" zu machen. Ich habe nur den Teil wie die Einführung des OpenCV-Moduls geschrieben. (Bilderkennungsmodul) Modulbuch   Was Module betrifft, gibt es zu viele Typen, die für die Öffentlichkeit zugänglich sind. Ich denke, ich werde hauptsächlich diejenigen schreiben, die ich in meinem Seminar verwendet habe.

Udemy verwandt

Es ist ziemlich schwierig für diejenigen, die die Fakultät für Geistes- und Naturwissenschaften (Literatur) abgeschlossen haben (oder eingeschrieben sind), das Programmieren selbst zu lernen. Bei den kostenlos veröffentlichten Python-Texten wird davon ausgegangen, dass diejenigen, die bereits mit anderen Sprachen vertraut sind, Python in kurzer Zeit lernen werden.   Wenn Sie zum ersten Mal Programmieren lernen, benötigen Sie eine detaillierte Anleitung, was Sie speziell tun müssen. Diejenigen, die in der Schule tatsächlich über die Python-Sprache unterrichtet sind, und diejenigen, die eine bestimmte Anzahl von Freunden haben, die mit Python vertraut sind, können natürlich die detaillierten Punkte des Lernens verstehen, aber es ist nicht in einer solchen Umgebung. Ich denke, dass das Lernen einige Nachteile hat.   Ich habe tatsächlich Programmieren unterrichtet und ich habe ein starkes Gefühl dafür. Diejenigen, die C ++, Java und JavaScript bis zu einem gewissen Grad beherrschen, können nur mit Python-Texten selbst lernen, aber diejenigen, die dies nicht tun, können frühzeitig mit Texten allein stecken bleiben. Für eine solche Person muss ich auf Betriebsebene vor dem PC eine ausführliche Erklärung abgeben.     Heutzutage werden viele ausgezeichnete Lehrmaterialien (Bücher, Internetseiten usw.) im Zusammenhang mit Python verkauft und veröffentlicht, einschließlich kostenpflichtiger und kostenloser, und ich denke, dass es weniger schwierig wird, Informationsquellen zu erhalten. .. Ich denke jedoch, dass es schwierig ist, die oben erwähnten "detaillierten Betriebspunkte" aus dem Textmedium zu erhalten, und ich denke vorerst darüber nach, dies mit Video-Unterrichtsmaterialien zu behandeln.   Bisher liefert Udemy einen Videokurs, und ich möchte ihn hier vorstellen. Es ist eine kompaktere Zusammenfassung des freien Textes "Einführung in Python 3".   Bitte haben Sie Verständnis dafür, dass dies ein Videokurs ist, der für diejenigen, die Python nur mit dem kostenlosen Text "Einführung in Python 3", anderen Büchern und Informationen auf Internetseiten lernen können, völlig unnötig ist.   Dieses Videomaterial von Udemy wurde für diejenigen erstellt, die durch das Selbststudium in Python frustriert wurden oder zum ersten Mal in Python Programmieren lernen. (Insgesamt 11 Stunden)   >>> Link zum Kurs   ・ Facebook ・ Twitter

Inhaltsverzeichnis

[Tabelle des Textkörpers]

1 Einleitung --- 1 1.1 Was Sie mit Python machen können --- 1 1.2 Inhalt dieses Handbuchs --- 1 1.2.1 Wie man dieses Buch liest --- 2 1.3 Installieren und Starten des Verarbeitungssystems --- 2 1.3.1 Verteilung des Python-Verarbeitungssystems (Verteilungsformular) --- 2 1.3.2 Python-Verarbeitungssystem starten --- 2 1.3.3 Interaktiver Modus --- 3 1.4 Zu verwendende GUI-Bibliothek --- 3 1.5 Detaillierte Informationen zu Python --- 3 2 Python-Grundlagen --- 4 2.1 Ausführung des Skripts --- 4 2.1.1 Im Programm zu schreibende Kommentare --- 5 2.1.2 Programmeinzug --- 5 2.2 Variablen- und Datentypen --- 6 2.2.1 Variablen freigeben (verwerfen) --- 7 2.2.2 Zahlenwert --- 7 2.2.2.1 Maximalwert, Minimalwert --- 10 2.2.2.2 Rundung von Gleitkommazahlen --- 11 2.2.2.3 Mathematische Funktion --- 11 2.2.2.4 Sonderwerte: inf, nan --- 12 2.2.2.5 Umgang mit Gleitkommazahlen mit Mehrfachlängengenauigkeit --- 14 2.2.2.6 Umgang mit Fraktionen --- 15 2.2.2.7 Zufällige Generierung --- 17 2.2.3 Zeichenkette --- 18 2.2.3.1 Escape-Sequenz --- 18 2.2.3.2 Rohzeichenfolge (Rohzeichenfolge) --- 19 2.2.3.3 Zeichenfolge über mehrere Zeilen --- 19 2.2.3.4 Zerlegung und Zusammensetzung von Zeichenketten --- 20 2.2.3.5 Ersetzen von Zeichenketten --- 21 2.2.3.6 Zeichenersatz --- 22 2.2.3.7 Beurteilung von Buchstaben und Zahlen --- 22 2.2.3.8 Umwandlung und Beurteilung von Groß- / Kleinbuchstaben --- 23 2.2.3.9 Überprüfung des Zeichenketteninhalts --- 23 2.2.3.10 Zeichencode / Zeichentyp --- 24 2.2.4 Wahrheitswert (Bool-Typ) --- 26 2.2.5 Nullobjekt: Keine --- 26 2.2.6 Typkonvertierung --- 26 2.2.7 Typprüfung --- 26 2.2.8 Umwandlung von Radix --- 27 2.2.8.1 Zahl → Dezimalzahl --- 27 2.2.8.2 Ablehnen → n-ary --- 27 2.2.9 Bitbetrieb --- 28 2.3 Datenstruktur --- 30 2.3.1 Liste --- 30 2.3.1.1 Zugriff auf Listenelemente --- 30 2.3.1.2 Bearbeiten der Liste --- 30 2.3.1.3 Realisierung von Stapel und Warteschlange nach Liste: Pop-Methode --- 32 2.3.1.4 Einsichtnahme in die Liste --- 33 2.3.1.5 Ausnahmebehandlung --- 34 2.3.1.6 Anzahl der Elemente zählen --- 35 2.3.1.7 Ausrichtung der Elemente (1): Sortiermethode --- 36 2.3.1.8 Elementausrichtung (2): sortierte Funktion --- 37 2.3.1.9 Umkehren der Reihenfolge der Elemente --- 37 2.3.1.10 Doppelte Liste --- 37 2.3.2 Taple --- 38 2.3.2.1 Spezialtapel --- 39 2.3.3 set --- 39 2.3.3.1 Manipulation der Mengenlehre --- 40    2.3.3.2 frozenset --- 41  2.3.4 Wörterbuchtyp --- 41 2.3.4.1 Zugriff auf das Wörterbuch mit der Methode get --- 41 2.3.4.2 Abrufen der Schlüssel- und Wertespalten --- 42 2.3.4.3 So überprüfen Sie die Anzahl der Elemente in einem Objekt vom Typ Wörterbuch --- 42 2.3.4.4 So generieren Sie ein Wörterbuch aus einer Liste oder einem Taple --- 43 2.3.4.5 So rufen Sie alle Elemente des Wörterbuchs als Spalten ab --- 43 2.3.5 Erweiterte Anwendung von Indizes (Slices) --- 43 2.3.5.1 Slice-Objekt (Referenz) --- 44 2.3.6 Datenstrukturkonvertierung --- 45 2.3.7 Wertzuordnung nach Datenstruktur (geteilte Zuordnung) --- 46 2.3.7.1 Selektive Teilextraktion der Datenstruktur --- 47 2.3.8 Datenstruktur mischen --- 47 2.3.9 Über die Geschwindigkeit des Zugriffs auf die Datenstruktur --- 47 2.4 Kontrollstruktur --- 48 2.4.1 Wiederholen Sie (1): für --- 48 2.4.1.1 Bereichsobjekt --- 49 2.4.1.2 sonst in für Aussage --- 50 2.4.1.3 Generierung der Datenstruktur mit for (Elementeinschlussnotation) --- 50 2.4.1.4 Iterator --- 51 2.4.1.5 Für Anweisung mit geteilter Zuordnung --- 52 2.4.1.6 Zip-Funktion und Zip-Objekt --- 52 2.4.1.7 Hinzufügen von Indexinformationen durch Aufzählung --- 53 2.4.2 Wiederholen Sie (2): während --- 54 2.4.3 Wiederholte Unterbrechung und Überspringen --- 55 2.4.4 Bedingte Verzweigung --- 55 2.4.4.1 Bedingter Ausdruck --- 56 2.4.4.2 Bedingte Beurteilung verschiedener "leerer" Werte --- 56 2.4.4.3 Vergleich mit `is '--- 58 2.5 Eingabe / Ausgabe --- 59 2.5.1 Standardausgabe --- 59 2.5.1.1 Formatieren der Ausgabedaten --- 59 2.5.1.2 Behandlung der Standardausgabe durch das sys-Modul --- 61 2.5.2 Standardeingabe --- 62 2.5.2.1 Behandlung der Standardeingabe durch das sys-Modul --- 63 2.5.3 Eingabe aus Datei --- 64 2.5.3.1 Umgang mit Byte-Strings --- 67 2.5.3.2 Überprüfen des Codesystems der Byte-Zeichenfolge --- 68 2.5.3.3 Lesen der angegebenen Anzahl von Bytes --- 68 2.5.3.4 So lesen Sie den Inhalt der Datei sofort --- 68 2.5.3.5 Lesen einer Datei als Iterator --- 68 2.5.4 Ausgabe in Datei --- 69 2.5.5 Standardfehlerausgabe --- 69 2.5.6 Umgang mit Pfaden (Dateien, Verzeichnissen) --- 71 2.5.6.1 Operationen in Bezug auf das aktuelle Verzeichnis --- 71 2.5.6.2 Liste der Verzeichnisinhalte --- 72 2.5.6.3 Dateigröße abrufen --- 72 2.5.6.4 Überprüfung von Dateien und Verzeichnissen --- 72 2.5.6.5 Dateien und Verzeichnisse löschen --- 72 2.5.6.6 Informationen zum Ausführen von Skripten --- 73 2.5.6.7 Verkettung von Pfadausdrücken --- 73 2.5.6.8 Noch eine andere Möglichkeit, mit Pfaden umzugehen: pathlib --- 73 2.5.7 Erfassung von Befehlsargumenten --- 75 2.5.8 Seien Sie vorsichtig bei der Verarbeitung von Ein- / Ausgabe --- 76 2.6 Funktionsdefinition --- 77 2.6.1 Formale Argumente --- 77 2.6.1.1 Eine Funktion mit einer unbestimmten Anzahl von Argumenten --- 77 2.6.1.2 Wie man beim Aufruf einer Funktion "*" in das Argument schreibt --- 78 2.6.1.3 Schlüsselwortargument --- 78 2.6.2 Umfang der Variablen (Umgang mit Variablen innerhalb und außerhalb der Funktionsdefinition) --- 79 2.6.3 Löschen der definierten Funktion --- 80 2.7 Objektorientierte Programmierung --- 81 2.7.1 Klassendefinition --- 81 2.7.1.1 Konstruktor --- 81 2.7.1.2 Methodendefinition --- 81 2.7.1.3 Klassenvariable --- 82 2.7.1.4 Attributuntersuchung (Eigenschaftsuntersuchung) --- 84 2.7.2 Untersuchung der Klassenvererbungsbeziehung --- 84 2.8 Programmierung nach Datenstruktur --- 85 2.8.1 Kartenfunktion --- 86 2.8.1.1 Zuordnung einer Funktion, die mehrere Argumente akzeptiert --- 87 2.8.1.2 So geben Sie der Kartenfunktion ein Zip-Objekt --- 87 2.8.2 Lambda und Funktionsdefinition --- 88   2.8.3 filter --- 90  2.8.4 if ~ else als Termoperator ... --- 90 2.8.5 Batch-Urteil von allen, jedem --- 90 2.8.6 Funktionsbaustein höherer Ordnung: functools --- 92    2.8.6.1 reduce --- 92  2.9 Substitutionsformel --- 93 3 Erstellen einer GUI-Anwendung mit Kivy --- 94 3.1 Grundlagen von Kivy --- 94 3.1.1 Implementierung des Anwendungsprogramms --- 94 3.1.2 Konzept der GUI-Konstruktion --- 94 3.1.2.1 Widget --- 95 3.1.2.2 Layout --- 96 3.1.2.3 Bildschirm --- 96 3.1.3 Umgang mit Fenstern --- 97 3.1.4 Multitouch deaktivieren --- 97 3.2 Grundlegende Konstruktionsmethode für GUI-Anwendungen --- 98 3.2.1 Ereignisverarbeitung (Einführung) --- 98 3.2.1.1 Ereignisbehandlung --- 98 3.2.2 Beispiel für die Anwendungskonstruktion --- 99 3.2.3 Ereignisverarbeitung (Methode durch Registrierung des Rückrufs) --- 102 3.2.4 Registrieren und Löschen von Widgets --- 103 3.2.5 Behandlung von Beginn und Ende der Anwendung --- 104 3.3 Verwendung verschiedener Widgets --- 105 3.3.1 Etikett: Etikett --- 105 3.3.1.1 Registrieren von Schriftarten in Ressourcen --- 107 3.3.2 Taste: Taste --- 108 3.3.3 Texteingabe: TextInput --- 108 3.3.4 Kontrollkästchen: CheckBox --- 109 3.3.5 Fortschrittsanzeige: Fortschrittsanzeige --- 109 3.3.6 Schieberegler: Schieberegler --- 109 3.3.7 Schalter: Schalter --- 109 3.3.8 Umschalttaste: Umschalttaste --- 109 3.3.9 Bild: Bild --- 110 3.3.9.1 Beispielprogramm --- 110 3.4 Leinwandgrafiken --- 111 3.4.1 Grafikklasse --- 112    3.4.1.1 Color --- 112     3.4.1.2 Line --- 112     3.4.1.3 Rectangle --- 112     3.4.1.4 Ellipse --- 113  3.4.2 Beispielprogramm --- 113 3.4.2.1 Sinusfunktionsdiagramm --- 113 3.4.2.2 Anzeige verschiedener Figuren und Bilder --- 113 3.4.3 Zeichnen in Frame Buffer --- 115 3.4.3.1 Extraktion des Pixelwerts --- 116 3.4.3.2 Koordinatenposition aus dem Ereignis --- 117 3.5 ScrollView --- 117 3.5.1 Einstellung der Widgetgröße --- 118 3.6 Einstellung zum Festlegen der Fenstergröße (Größenänderung verbieten) --- 118 3.7 Aufbau der Benutzeroberfläche in Kivy-Sprache --- 119 3.7.1 Grundlagen der Kivy-Sprache --- 119 3.7.1.1 Erläuterung mit Beispielprogramm --- 119 3.7.1.2 Korrespondenz zwischen Python-Programm und Kv-Datei --- 121 3.8 Stündliche Veranstaltung --- 122 3.8.1 Zeitplan für Ereignisse --- 122 3.9 GUI-Konstruktionsformat --- 122 3.9.1 Bildschirmbehandlung: Bildschirm und Bildschirmmanager --- 123    3.9.1.1 ScreenManager --- 123     3.9.1.2 Screen --- 123  3.9.2 Aktionsleiste: Aktionsleiste --- 125 3.9.3 Registerkartenfeld: TabbedPanel --- 126 3.9.4 Wischen: Karussell --- 127 4 Für die praktische Anwendungsentwicklung notwendige Angelegenheiten --- 129 4.1 Datums- und Uhrzeitverarbeitung --- 129 4.1.1 Grundfunktionen --- 129 4.1.1.1 Formatierung von Datum und Uhrzeit --- 130 4.1.1.2 datetime-Eigenschaft --- 130 4.1.2 Verwendung des Zeitmoduls --- 131 4.1.2.1 Zeitmessung --- 131 4.1.2.2 Warten auf Programmausführung --- 132 4.2 Zeichenkettensuche und regulärer Ausdruck --- 132 4.2.1 Mustersuche --- 132 4.2.1.1 Suche mit regulären Ausdrücken --- 134 4.2.1.2 Summenkombination von Suchmustern --- 136 4.2.1.3 Mustervergleich mit regulären Ausdrücken --- 137 4.2.1.4 Musterübereinstimmung am Anfang und Ende der Zeile --- 137 4.2.2 Austauschvorgang: re --- 138 4.2.2.1 Austauschvorgang über mehrere Zeilen --- 138 4.2.2.2 Ersetzungsprozess unter Bezugnahme auf die Musterübereinstimmungsgruppe --- 139 4.2.3 Anwendung auf die Zeichenfolgenzerlegung: re.split --- 139 4.3 Multithread und Multiprozess --- 140 4.3.1 Multithread --- 140 4.3.2 Multiprozess --- 141    4.3.2.1 ProcessPoolExecutor --- 141  4.3.3 Vergleich der Ausführungszeit zwischen Multithread und Multiprozess --- 142 4.4 Generator --- 143 4.4.1 Generatorfunktion --- 143 4.4.2 Generatortyp --- 144 4.5 Geteilte Programmierung durch Erstellen von Modulen und Paketen --- 145 4.5.1 Modul --- 145 4.5.1.1 Modul als einzelne Quelldatei --- 145 4.5.2 Paket (Bibliothek als Verzeichnis konfiguriert) --- 146 4.5.2.1 Ausführung des Moduls --- 147 4.5.3 Untersuchung des Verzeichnisses, in dem sich das Modul befindet --- 148 4.5.4 Über \ _ \ _ init \ _ \ _. Py --- 148 4.6 Direktzugriff innerhalb der Datei --- 150 4.6.1 Angeben des Zugriffsorts der Datei (Suchen der Datei) --- 150 4.6.2 Beispielprogramm --- 150 4.7 Datenobjekte speichern und laden: Pickle-Modul --- 152 4.8 Erstellen und Bereitstellen von Binärdaten: struct module --- 154 4.8.1 Erstellung von Binärdaten --- 154 4.8.2 Erweiterung von Binärdaten --- 154 4.8.3 Informationen zur Bytereihenfolge --- 156 4.9 So konvertieren Sie Binärdaten in Text: base64-Modul --- 157 4.10 exec und eval --- 159 4.10.1 Bezeichnung des Namespace --- 159 4.10.2 Bewertungsfunktion --- 159 4.11 Sammlungsmodul --- 160 4.11.1 Warteschlange: deque --- 160 4.11.1.1 Hinzufügen und Abrufen von Elementen: Anhängen, Pop --- 160 4.11.1.2 Drehung der Elementreihenfolge: drehen --- 161 4.11.2 Aggregation von Elementen: Zähler --- 161 4.11.2.1 Extrahieren Sie die aggregierten Ergebnisse in der Reihenfolge der Häufigkeit des Auftretens --- 162   4.11.3 namedtuple --- 162  4.12 Aufzählungstyp: Aufzählungsmodul --- 163 4.12.1 Aufzählungstyp --- 163 4.12.2 Beispiel für den Umgang mit Konstanten --- 164   4.12.3 IntEnum --- 165  4.12.4 Zuweisen eines Werts zum Enum-Element durch die Auto-Funktion --- 165 4.13 Ausnahmebehandlung (Fehlerverarbeitung) --- 167 4.13.1 Auslösen einer Ausnahme --- 167 4.14 Untersuchung der verwendeten Symbole --- 169 4.15 mit Syntax --- 170 4.16 Formatierte Anzeige der Datenstruktur: pprint module --- 175 4.17 Erfassung von Informationen zur Verarbeitungsumgebung --- 176 4.17.1 Erfassung von Python-Versionsinformationen --- 176 4.17.2 Verwendung des Plattformmoduls --- 176 4.17.3 Referenz von Umgebungsvariablen --- 177 4.18 Operationen an Dateien und Verzeichnissen: Shutil-Modul --- 179 4.18.1 Doppelte Dateien und Verzeichnisse --- 179 4.18.2 Umgang mit Archivdateien (Archiv) und Komprimierungsverarbeitung --- 180 4.19 Umgang mit dem ZIP-Archiv: Zipfile-Modul --- 181 4.19.1 Öffnen Sie die ZIP-Archivdatei --- 181 4.19.2 Aufnahme von Mitgliedern in das Archiv --- 181 4.19.3 Bestätigung des Inhalts der Bibliothek --- 181 4.19.4 Archivmitglieder lesen --- 182 4.19.5 Entwicklung der Bibliothek --- 182 4.19.5.1 Zugriff auf passwortgeschütztes ZIP-Archiv --- 183 4.20 Umgang mit Befehlsargumenten: argparse module --- 184 4.20.1 Befehlsargumentformat --- 184 4.20.2 Verwendung --- 184 4.20.2.1 Optionale Argumente setzen --- 185 4.20.2.2 Positionsargumenteinstellung --- 185 4.20.2.3 Verarbeitung der Befehlszeilenanalyse --- 185 4.20.3 Erläuterung gemäß Beispielprogramm --- 185 4.20.3.1 Hilfefunktion --- 186 4.20.3.2 Angeben des Befehlsargumenttyps --- 187 4.20.4 Implementierungsmethode für Unterbefehle --- 187 4.21 Ende des Skripts (Ende des Programms) --- 189 5 TCP / IP-Kommunikation --- 190 5.1 Sockelmodul --- 190 5.1.1 Vorbereitung der Steckdose --- 190 5.1.2 Serverseitige Programmverarbeitung --- 191 5.1.3 Clientseitige Programmverarbeitung --- 191 5.1.4 Senden und Empfangen --- 191 5.1.5 Beispielprogramm --- 191 5.2 WWW-Inhaltsanalyse --- 193 5.2.1 Anforderungsbibliothek --- 193 5.2.1.1 Methode zum Senden einer Anfrage --- 193 5.2.1.2 Methode in Bezug auf erworbene Inhalte --- 194 5.2.1.3 Bewertung basierend auf dem Sitzungsobjekt --- 195 5.2.2 Schöne Suppenbibliothek --- 195 5.2.2.1 Umgang mit HTML-Inhalten in BS --- 196 6 Zusammenarbeit mit externen Programmen --- 198 6.1 So starten Sie ein externes Programm --- 198 6.1.1 Standard-Eingangs- / Ausgangsanschluss --- 198 6.1.1.1 Schließen der Standardeingabe des externen Programms --- 201 6.1.2 Asynchrone Ein- / Ausgabe --- 201 6.1.3 Synchronisation mit externem Prozess (Warten auf Beendigung) --- 203 6.1.4 Eine einfachere Möglichkeit, ein externes Programm zu starten --- 203 7 Toneingang / -ausgang --- 205 7.1 Grundkenntnisse --- 205 7.2 Eingabe / Ausgabe der Datei im WAV-Format: Wave-Modul --- 205 7.2.1 Öffnen und Schließen von Dateien im WAV-Format --- 205 7.2.1.1 Verschiedene Attribute von WAV-Formatdaten --- 206 7.2.2 Lesen aus der WAV-Formatdatei --- 206 7.2.3 Beispielprogramm --- 206 7.2.4 Beziehung zwischen der Anzahl der Quantisierungsbits und dem Abtastwert --- 207 7.2.5 Umgang mit gelesenen Rahmendaten --- 207 7.2.6 Beispiel für die Ausgabe von Daten im WAV-Format (1): Von der Liste zur WAV-Datei --- 209 7.2.7 Beispiel für die Ausgabe von Daten im WAV-Format (2): Vom NumPy-Array zur WAV-Datei --- 210 7.2.8 Hinweise zur Größe der Audiodaten --- 211 7.3 Toneingabe und -wiedergabe: PyAudio-Bibliothek --- 212 7.3.1 Toneingabe / -ausgabe über Stream --- 212 7.3.2 Wiedergabe der Sounddatei im WAV-Format --- 213 7.3.2.1 Erkennung des Endes der Tonwiedergabe --- 215 7.3.3 Eingabe vom Spracheingabegerät --- 215 Eine Information über Python --- 219 A.1 Python-Internetseite --- 219 A.2 Beispiel für Python-Installationsarbeiten --- 219 A.2.1 Installationspaketmethode für die PSF-Version --- 219 A.2.2 Methode von Anaconda --- 220 A.3 Mechanismus zum Starten von Python --- 220 A.3.1 Starten der PSF-Version Python --- 220 A.3.2 Starten von Anaconda Navigator --- 221 A.3.3 Starten der Anaconda-Eingabeaufforderung --- 222 A.3.3.1 Verwaltung der Python-Umgebung mit dem Befehl conda --- 223 A.4 Bibliotheksverwaltung durch PIP --- 223 A.4.1 Lösung, wenn der PIP-Befehl nicht ausgeführt werden kann --- 224 B Informationen über Kivy --- 225 B.1 Beispiel für Kivy-Installationsarbeiten --- 225 B.2 Informationen zur Vermeidung von Problemen bei der Verwendung von Kivy --- 225 B.2.1 Einstellung der von Kivy verwendeten Zeichnungs-API --- 225 B.2.2 Über SDL --- 226 B.3 GUI-Entwurfswerkzeug --- 226 C Tkinter: Grundlegendes GUI-Toolkit --- 227 C.1 Grundlegende Handhabung --- 227 C.1.1 Verwendungsbeispiel --- 228 C.1.1.1 Festlegen, ob die Fenstergröße geändert werden soll --- 229 C.1.2 Widget-Platzierung --- 229 C.2 Verschiedene Widgets --- 231 C.2.1 Kontrollkästchen und Optionsfeld --- 231 C.2.1.1 Variablenklasse --- 232 C.2.2 Eintrag (Textfeld) und Kombinationsfeld --- 233 C.2.2.1 Beendigung des Programms --- 235 C.2.3 Listenfeld --- 235 C.2.4 Text (Zeichenbearbeitungsbereich) und Bildlaufleiste --- 236 C.2.5 Skala (Schieberegler) und Fortschrittsfriseur --- 238 C.2.5.1 Einstellung der Rückruffunktion der verfügbaren Klasse --- 239 C.3 Menüaufbau --- 239 C.4 Leinwandzeichnung --- 241 C.4.1 Zeichenmethode (teilweise) --- 241 C.4.2 Figurenverwaltung --- 244 C.5 Ereignisbehandlung --- 246 C.5.1 Ausführung einer Funktion mit einer bestimmten Zeit --- 248 C.6 Anzeige mehrerer Fenster --- 249 C.7 Erfassung von Informationen zu Anzeigen und Fenstern --- 250 C.8 Messagebox --- 251 C.8.1 Behandlung der Antragsbeendigung --- 253 D Bibliothekshandhabung --- 254 D.1 Sache mit dem Lesen der Bibliothek --- 254 D.1.1 Gewähren eines Alias beim Lesen einer Bibliothek --- 254 D.1.2 Laden der Bibliothek, um das Präfix wegzulassen --- 254 D.1.2.1 Vorsichtsmaßnahmen beim Weglassen von Präfixen (Namenskonflikt) --- 255 D.2 Einführung verschiedener Bibliotheken --- 256 E Einfallsreichtum, um die Verwendung des interaktiven Modus zu vereinfachen --- 257 E.1 Unterdrückung und Anzeige von Warnmeldungen --- 257 E.2 Verwaltung des Speichernutzungsstatus --- 258 F Beispielprogramm --- 259 F.1 Vergleich der Zugriffsgeschwindigkeit von Liste / Satz / Wörterbuch --- 259 F.1.1 Zugriff in Form eines Ganzzahlindex für das Slice --- 259 F.1.2 Zeitaufwand für die Überprüfung der Mitgliedschaft --- 260 F.2 Vergleich der Berechnungsgeschwindigkeit mit und ohne Bibliotheksnutzung --- 263 F.3 pathlib Anwendungsbeispiel --- 266 F.4 Umrechnung zwischen Gleitkommazahl und Binärzahl --- 267 F.5 Liste aller Unicode-Zeichen --- 268

[Tabelle der Bibliotheksbücher]

1 Bildeingabe / -ausgabe und -verarbeitung --- 1   1.1 OpenCV --- 1  1.1.1 Videoeingang --- 2 1.1.2 Benutzeroberfläche --- 2 1.1.2.1 Eingabe aus der Videodatei --- 3 1.1.3 Speichern eines Frames in einer Datei --- 3 1.1.4 Standbilder lesen --- 4 1.1.5 Farbtrennung und Zusammensetzung --- 5 1.1.6 Überprüfung der Bildähnlichkeit --- 6 1.1.6.1 Berechnung des AKAZE-Merkmalsbetrags --- 6 1.1.6.2 Zusammenstellung von Merkmalsmengen-Daten --- 6 1.1.6.3 Beispielprogramm --- 7   1.2 Pillow --- 9  1.2.1 Bilddateien lesen und speichern --- 9 1.2.1.1 Auflösung beim Lesen von EPS --- 10 1.2.2 Neues Bildobjekt erstellen --- 10 1.2.3 Anzeigen von Bildern --- 11 1.2.4 Bearbeiten von Bildern --- 11 1.2.4.1 Bildvergrößerung und -verkleinerung --- 11 1.2.4.2 Extraktion des Bildteils --- 12 1.2.4.3 Bildduplizierung --- 12 1.2.4.4 Bild einfügen --- 12 1.2.4.5 Bilddrehung --- 12 1.2.5 Bildverarbeitung --- 13 1.2.5.1 Farbtrennung und Zusammensetzung --- 13 1.2.6 Zeichnung --- 13 1.2.7 Animiertes GIF erstellen --- 15 1.2.8 Konvertierung vom Bildobjekt in ein numerisches Pixelarray --- 15 2 GUI und Multimedia --- 16   2.1 pygame --- 16  2.1.1 Grundlegende Angelegenheiten --- 16 2.1.1.1 Oberflächenobjekt --- 16 2.1.1.2 Anwendungsausführungsschleife --- 16 2.1.2 Zeichenfunktion --- 18 2.1.2.1 Beispielprogramm zeichnen --- 21 2.1.2.2 Beispielprogramm für Rotation und Skalierung --- 22 2.1.3 Handhabung von Tastatur und Maus --- 24 2.1.4 Audiowiedergabe --- 25 2.1.4.1 Methode mit Sound-Objekt --- 26 2.1.4.2 Konvertierung vom Sound-Objekt zum NumPy-Array --- 27 2.1.5 Verwendung von Sprites --- 29   2.2 Eel --- 34  2.2.1 Grundlegende Angelegenheiten --- 34 2.2.2 Aufrufen einer in Python / JavaScript geschriebenen Funktion --- 36 2.2.2.1 Über den Rückgabewert der Funktion --- 37 2.3 Konvertierung von Mediendaten: PyDub --- 38 2.3.1 Audiodateien lesen --- 38 2.3.2 Konvertierung von Audiodaten in ein NumPy-Array --- 38 2.3.3 Konvertierung von NumPy-Array in Audiodaten --- 39 2.3.4 Speichern der Audiodatei --- 39 2.3.4.1 Als MP3-Formatdatei speichern --- 39 2.3.4.2 Als WAV-Formatdatei speichern --- 39 3 Wissenschaft und Technologie --- 40 3.1 Bibliothek zur numerischen Berechnung und Visualisierung: NumPy / matplotlib --- 40 3.1.1 Generierung eines Array-Objekts --- 40 3.1.1.1 Informationen zum Elementtyp des Arrays --- 41 3.1.1.2 Array von Wahrheitswerten --- 41 3.1.1.3 Sonderwerte: unendlich und nicht nummeriert --- 41 3.1.1.4 Generierung von Datenzeichenfolgen (Generierung von Zahlenzeichenfolgen) --- 42 3.1.1.5 Erzeugung eines mehrdimensionalen Arrays --- 43 3.1.1.6 Untersuchung der Form der Sequenz --- 43 3.1.1.7 Zugriff auf Array-Elemente --- 44 3.1.1.8 Operation, wenn einem Slice eine Datenzeichenfolge zugewiesen wird --- 45 3.1.1.9 Zugriff auf angegebene Zeilen und Spalten --- 45 3.1.1.10 Transformation der Arrayform --- 45 3.1.1.11 Zeilen- und Spaltenverschiebung --- 47 3.1.1.12 Zeilen-, Spalteninversion und -rotation --- 47 3.1.1.13 Typkonvertierung --- 48 3.1.2 Sequenzverkettung und -wiederholung --- 48 3.1.2.1 Verkettung durch Anhängen und Verketten --- 48 3.1.2.2 Verbindung über hstack und vstack --- 49 3.1.2.3 Wiederholen der Sequenz mit Kachel --- 50 3.1.3 Erweiterung der Dimension des Arrays --- 50 3.1.3.1 Methode von newaxis object --- 50 3.1.3.2 Methode durch Erweitern von \ _dims --- 51 3.1.4 Datenextraktion --- 51 3.1.4.1 Maskierung durch Wahrheitswertzeichenfolge --- 51 3.1.4.2 Extraktion von Elementen durch bedingten Ausdruck --- 52 3.1.4.3 Kombinieren von bedingten Ausdrücken mit logischen Operatoren --- 52 3.1.4.4 Elemente extrahieren und ersetzen durch wo --- 52 3.1.4.5 Suche nach Maximalwert, Minimalwert und seiner Position --- 53 3.1.5 Datenausrichtung (Sortierung) --- 53 3.1.5.1 Zweidimensionale Array-Ausrichtung --- 54 3.1.5.2 So erhalten Sie den Index des Ausrichtungsergebnisses --- 54 3.1.6 Verschiedene Verarbeitungen für Sequenzen --- 55 3.1.6.1 Beseitigung doppelter Elemente --- 55 3.1.6.2 Aggregation ganzzahliger Elemente --- 55 3.1.7 Berechnung für Datenzeichenfolge: 1. Dimension bis 1. Dimension --- 56 3.1.8 Datenvisualisierung (grundlegend) --- 56 3.1.8.1 Grundlegende Vorgehensweise beim Zeichnen --- 57 3.1.8.2 Zweidimensionales Diagramm: Liniendiagramm --- 57 3.1.8.3 Erstellen mehrerer Diagramme --- 59 3.1.8.4 Matplotlib-Diagrammstruktur --- 62 3.1.8.5 Anzeige japanischer Überschriften / Etiketten --- 66 3.1.8.6 Speichern des Diagramms als Bilddatei --- 67 3.1.9 Zufällige Generierung --- 68 3.1.9.1 Erzeugung einheitlicher Zufallszahlen --- 68 3.1.9.2 Erzeugung ganzzahliger Zufallszahlen --- 68 3.1.9.3 Erzeugung normaler Zufallszahlen --- 68 3.1.9.4 Zufällige Samen --- 68 3.1.9.5 RandomState-Objekt --- 69 3.1.10 Statistische Verarbeitung --- 70 3.1.10.1 Gesamt --- 70 3.1.10.2 Maximalwert, Minimalwert --- 70 3.1.10.3 Mittelwert, Varianz, Standardabweichung --- 70 3.1.10.4 Prozentpunkt --- 71 3.1.10.5 Abschnitt und Tabelle (Klassen- und Frequenzerhebung) --- 71 3.1.10.6 Datenmischung --- 72 3.1.11 Datenvisualisierung (2) --- 73 3.1.11.1 Histogramm --- 73 3.1.11.2 Streudiagramm --- 73 3.1.11.3 Balkendiagramm --- 74 3.1.11.4 Box Whisker --- 74 3.1.12 Berechnung der Datenzeichenfolge: \ (n ) Dimension auf 1 Dimension --- 75 3.1.13 Datenvisualisierung: 3D-Plot --- 76 3.1.13.1 Drahtrahmen --- 76 3.1.13.2 Flächendiagramm --- 77 3.1.13.3 3D-Streukarte --- 78 3.1.14 Datenvisualisierung: Andere --- 79 3.1.14.1 Wärmekarte --- 79 3.1.14.2 Erstellen einer Tabelle --- 81 3.1.15 Hochgeschwindigkeits-Fourier-Transformation (FFT) --- 83 3.1.15.1 Umwandlung vom Zeitbereich in den Frequenzbereich: Fourier-Umwandlung --- 83 3.1.15.2 Umwandlung vom Frequenzbereich in den Zeitbereich: Fourier-Transformation / inverse Transformation --- 83 3.1.15.3 Festlegen des Seitenverhältnisses des Diagramms --- 86 3.1.15.4 Vorsichtsmaßnahmen bei Verwendung der Fourier-Transformation --- 87 3.1.16 Berechnung komplexer Zahlen --- 87 3.1.16.1 Quadratwurzel der komplexen Zahl --- 87 3.1.16.2 Norm für komplexe Zahlen --- 87 3.1.16.3 Komplexe Zahl konjugieren --- 87 3.1.16.4 Komplexe Winkelabweichung (Phase) --- 88 3.1.17 Matrixberechnung --- 89 3.1.17.1 Summe und Produkt der Matrizen --- 89 3.1.17.2 Einheitsmatrix, Nullmatrix usw. --- 89 3.1.17.3 Machen Sie alle Elemente der Matrix auf den gleichen Wert --- 89 3.1.17.4 Diagonale Komponente, Diagonale Matrix --- 90 3.1.17.5 Translokation der Matrix --- 91 3.1.17.6 Matrixausdruck und inverse Matrix --- 91 3.1.17.7 Eindeutiger Wert und eindeutiger Vektor --- 91 3.1.17.8 Matrixrang --- 92 3.1.17.9 Komplexe konjugierte Matrix --- 92 3.1.17.10 Elmeat-Konjugatmatrix --- 92 3.1.17.11 Vektornorm --- 93 3.1.18 E / A: Array-Objektdatei-E / A --- 94 3.1.18.1 Speichern in einer Textdatei --- 94 3.1.18.2 Lesen aus einer Textdatei --- 94 3.1.18.3 E / A zur Binärdatei --- 95 3.1.18.4 Komprimiertes Speichern und Laden von Daten --- 95 3.1.19 Matrixvergleich --- 96 3.1.20 Implementierung von benutzerdefinierten Funktionen, die Arrays verarbeiten --- 96 3.1.21 Beispiel für die Verbesserung der Berechnungsgeschwindigkeit durch Anwendung der Matrixberechnung --- 98 3.1.22 Umgang mit Bilddaten --- 99 3.1.22.1 Konvertierung vom Pixelarray in Bilddaten (Verknüpfung mit der PIL-Bibliothek) --- 100 3.1.22.2 Konvertierung von Bilddaten in ein Pixelarray (Verknüpfung mit der PIL-Bibliothek) --- 101 3.1.22.3 Beispielprogramm: Dreifarbige Trennung von Bildern --- 101 3.1.23 Andere Funktionen --- 103 3.1.23.1 Extraktion von Daten über / unter dem Standard --- 103 3.1.23.2 Extraktion von Daten im angegebenen Bereich --- 104 3.2 Bibliothek für Wissenschafts- und Technologieberechnung: SciPy --- 107 3.2.1 Signalverarbeitungswerkzeug: scipy.signal --- 107 3.2.1.1 Erzeugung der Grundwellenform --- 107 3.3 Formelverarbeitungsbibliothek: SymPy --- 111 3.3.1 Vorsichtsmaßnahmen beim Laden von Modulen --- 111 3.3.2 Grundlegende Angelegenheiten --- 111 3.3.2.1 Objekt für die mathematische Verarbeitung --- 112 3.3.2.2 Vereinfachung der Formeln (Bewertung) --- 112 3.3.2.3 Struktur des Ausdrucks {\ tt f (x, y, ...) (Extrahieren der Kopf- und Argumentsequenz) --- 113 3.3.2.4 Konstante --- 113 3.3.3 Grundlegende Formelverarbeitungsfunktion --- 114 3.3.3.1 Erweiterung der Formel --- 114 3.3.3.2 Faktorisierung --- 114 3.3.3.3 Anordnung durch angegebene Symbole --- 114 3.3.3.4 Ungefähre Minuten: Vereinfachung der Fraktionen (1) --- 115 3.3.3.5 Teilfraktion --- 115 3.3.3.6 Vereinfachung der Fraktionen (2) --- 116 3.3.3.7 Substitution (Ersetzen von Symbolen) --- 116 3.3.3.8 Verschiedene mathematische Funktionen --- 116 3.3.3.9 Formeltyp --- 116 3.3.4 Analytische Verarbeitung --- 117 3.3.4.1 Extrem --- 117 3.3.4.2 Ableitungsfunktion --- 117 3.3.4.3 Verzögerte Ausführung des Differentialbetriebs --- 118 3.3.4.4 Primitive Funktion --- 118 3.3.4.5 Verzögerte Ausführung der Integration --- 118 3.3.4.6 Konstante Integration --- 119 3.3.4.7 Klassenentwicklung --- 119 3.3.5 Verschiedene Gleichungen lösen --- 119 3.3.5.1 Algebraische Gleichungen lösen --- 119 3.3.5.2 Lösen von Differentialgleichungen --- 120 3.3.5.3 Lösen der Differenzgleichung (Differenzgleichung, allmähliche Gleichung) --- 121 3.3.6 Lineare Algebra --- 121 3.3.6.1 Matrixformel --- 121 3.3.6.2 Inverse Matrix --- 121 3.3.6.3 Eindeutiger Wert, eindeutiger Vektor --- 122 3.3.7 Gesamt --- 122 3.3.8 Musterübereinstimmung --- 123 3.3.9 Numerische Berechnung --- 124 3.3.9.1 Zersetzung des Primfaktors --- 124 3.3.9.2 Ungefährer Wert --- 124 3.3.10 Formatkonvertierungsausgabe --- 124       3.3.10.1 LaTeX  --- 124  3.3.11 Diagrammdarstellung --- 124 3.3.11.1 Speichern des Diagramms in einer Bilddatei --- 126 4 Sicherheitsrelevant --- 127   4.1 hashlib --- 127  4.1.1 Grundlegende Verwendung --- 127   4.2 passlib --- 127  4.2.1 Verwendbare Algorithmen --- 127 5 Beschleunigung von Programmen / Anwendungserstellung --- 129   5.1 Cython --- 129  5.1.1 Verwendungsbeispiel --- 129 5.1.2 Einstellung zum Beschleunigen --- 131   5.2 Numba --- 132  5.2.1 Grundlegende Verwendung --- 132 5.2.2 Beschleunigung durch Angabe des Typs --- 133   5.3 ctypes --- 133  5.3.1 Beispiel für die Erstellung einer gemeinsam genutzten Bibliothek in der Sprache C --- 134 5.3.2 Beispiel für den Aufruf einer Funktion in einer gemeinsam genutzten Bibliothek --- 134 5.3.3 Umgang mit Argumenten und Rückgabewerten --- 135 5.3.3.1 Übertragung von Sequenzdaten --- 137   5.4 PyInstaller --- 140  5.4.1 Einfaches Verwendungsbeispiel --- 140 5.4.1.1 Erstellen einer einzelnen ausführbaren Datei --- 141 6 Dialogarbeitsumgebung (JupyterLab) --- 142 6.1 Grundlegende Angelegenheiten --- 142 6.1.1 Start und Ende --- 143 6.1.2 Anzeigebereichskonfiguration und Betriebsmethode --- 143 6.1.2.1 Beispiel für die Verwendung eines Notebooks --- 144 6.1.2.2 Informationen zum Kernel --- 146 6.1.3 Ausführung der Eingabefunktion in Notebook --- 146 6.2 Kommentaranzeige von Markdown --- 147 6.3 Anwendungsbeispiel --- 148 6.3.1 Formatierte Anzeige der SymPy-Formel durch MathJax --- 148 6.3.2 Tonwiedergabe mit dem IPython.display-Modul --- 149 7 Andere --- 151 7.1 json: Verwendung des Datenaustauschformats JSON --- 151 7.1.1 JSON-Notation --- 151 7.1.2 Verwendungsbeispiel --- 151 7.2 urllib: Verarbeitung in Bezug auf URL --- 152 7.2.1 Umgang mit anderen Bytezeichen (`% 'Codierung) --- 152 7.2.1.1 Systemspezifikation des Zeichencodes --- 152 7.3 Zenhan: Umwandlung in voller Breite und halber Breite --- 153 7.4 jaconv: Verschiedene Konvertierungen in Bezug auf japanische Schriftzeichen --- 153


geschrieben von Katsunori Nakamura

Recommended Posts

Ich habe einen Python-Text gemacht
Ich habe einen Line-Bot mit Python gemacht!
Ich habe mit Python einen Daemon erstellt
〇✕ Ich habe ein Spiel gemacht
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich habe mit Python einen Zeichenzähler erstellt
Ich habe mit Python eine Hex-Map erstellt
Nachdem ich Python3 studiert hatte, machte ich einen Slackbot
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe mit Python einen Neuronensimulator erstellt
Ich habe mit Python eine Bot-Wettervorhersage gemacht.
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Ich habe versucht, mit Python einen Twitter-Blocker für faule Mädchen zu machen
[Python] Ich habe mit Tkinter einen Youtube Downloader erstellt.
Ich habe ein Caesar-Kryptografieprogramm in Python erstellt.
Ich habe mit Python ein Bin-Picking-Spiel gemacht
Mattermost Bot mit Python gemacht (+ Flask)
Python Qiita API Wrapper "qiipy" gemacht
Ich habe einen Blackjack mit Python gemacht!
Ich habe einen Zwietrachtbot gemacht
Ich habe mit Python einen Blackjack gemacht.
Ich habe Wordcloud mit Python gemacht.
Ich habe einen Twitter BOT mit GAE (Python) gemacht (mit einer Referenz)
Ich habe einen Anmelde- / Abmeldevorgang mit Python's Bottle durchgeführt.
Ich habe mit Python eine App für die Benachrichtigung über Netznachrichten erstellt
Ich habe eine VM erstellt, auf der OpenCV für Python ausgeführt wird
Ich habe ein Python-Modul erstellt, um Kommentare zu übersetzen
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
[Python] Ich habe einen Klassifikator für Iris erstellt [Maschinelles Lernen]
Ich habe eine Python-Bibliothek erstellt, die einen rollierenden Rang hat
Ich habe ein Tool zur Erzeugung sich wiederholender Textdaten "rpttxt" erstellt.
Ich habe eine C ++ - Lernseite erstellt
Ich habe ein CUI-basiertes Übersetzungsskript erstellt (2)
Ich habe einen Wikipedia Gacha Bot gemacht
Ich habe meine eigene Python-Bibliothek erstellt
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
[VSCode] Ich habe ein Benutzer-Snippet für Python-Druck-F-String erstellt
Ich habe einen schnellen Feed-Reader mit Feedparser in Python erstellt
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
Ich habe mit Tkinter of Python ein Puzzlespiel (wie) gemacht
Ich habe Chatbot mit LINE Messaging API und Python erstellt
[Python] Ich habe einen Line-Bot erstellt, der zufällig nach englischen Wörtern fragt
Ich habe einen neuen AWS S3-Eimer hergestellt
Ich habe eine einfache Schaltung mit Python gemacht (AND, OR, NOR, etc.)
Ich habe ein Dash-Docset für Holoviews erstellt
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Ich habe ein Paket erstellt, das morphologische Analysegeräte mit Python vergleichen kann
Ich habe ein Skript in Python erstellt, um eine Textdatei für JSON zu konvertieren (für das vscode-Benutzer-Snippet).
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (4)
Ich berührte "Orator" und machte mir eine Notiz
Python> Ich habe einen Testcode für meine eigene externe Datei erstellt
Ich habe eine Heatmap mit Seaborn [Python] gezeichnet.