[WIP] Fluent Python-Studiennotizen

Hallo, alle zusammen, ist Eiringu.

Dieser Artikel ist ein Studienmemorandum von Fluent Python. Es wird von Zeit zu Zeit aktualisiert.

Um ehrlich zu sein, lese ich Lehrbücher über Programmiersprachen nicht oft ernsthaft, aber wenn ich ein Buch lese, das eine Sprache richtig erklärt, habe ich die richtigen Codierungsfähigkeiten und Entdeckungen, im Gegensatz zu dem, was ich in der Praxis ad hoc erworben habe. .. Daher möchte ich notieren, woran ich mit Fluent Python interessiert war.

Kapitel 1

** S.8 Fußnote **

In Python 2 müssen Sie "FrenchDeck (Objekt)" explizit schreiben, in Python 3 ist dies jedoch die Standardeinstellung.

...Was...!?

Kapitel 2

P.45

2.7 list.sort und eingebaute Funktion sortiert

Die list.sort-Methode sortiert die Liste direkt und erstellt keine Kopie. Sie können an der Tatsache, dass "Keine" zurückgegeben wird, erkennen, dass Sie das Zielobjekt ändern, ohne eine neue Liste zu erstellen. (Weggelassen) Andererseits erstellt die eingebaute Funktion "sortiert" eine neue Liste und gibt sie zurück.

Hmm. Ich habe die Liste sortiert und für mich selbst gespeichert, also habe ich sie als Referenz verwendet.

2.9.1 Array

Array.array ist effizienter als list, wenn die Liste nur Zahlen enthält. ... (weggelassen) ... Python-Arrays sind genauso effizient wie C-Arrays. array wird durch Angabe des Typcodes erstellt, da der Typ des im Array gespeicherten Elements vom internen C-Datentyp unterstützt wird.

Listen verwenden auch nur ungefähr den gleichen Datentyp. Daher wäre es effizienter, wenn wir Arrays verwenden würden. Ich habe so etwas wie Procon noch nicht gemacht, aber wenn Sie diesen Bereich nicht kennen, wird es nicht funktionieren.

Kapitel 3

P. 76

my_dict.setdefault(key, []).append(new_value) Dies ist betrieblich dasselbe wie:

if key not in my_dict:
    my_dict[key] = []
my_dict[key].append(new_value)

Die Methode zur Verwendung der if-Anweisung ist einfach. Seien Sie also vorsichtig.

Kapitel 4

Das Extra ist b '\ xff \ xfe. Dies sind ** BOM ** * (Byte-Order-Markierung) *, die die "Little-todian" -Byte-Reihenfolge der Intel-CPU darstellen, die die Codierung durchgeführt hat. ~ Ausgelassen ~ Der Standard schreibt vor, dass UTF-16BE (Big Endian) angenommen werden sollte, wenn die Datei UTF-16 ist und dort keine Stückliste vorhanden ist. Die Intel x86-Architektur ist jedoch wenig tolandisch, und es gibt viele kleine tolandische UTF-16 ohne Stückliste auf dem Markt. Endian-Probleme betreffen nur Codierungen, aus denen ein Wort mit mehreren Bytes besteht, z. B. UTF-16 und UTF-32. Einer der großen Vorteile von UTF-8 besteht darin, dass unabhängig vom Endian der Maschine dieselbe Bytefolge erzeugt wird. Keine Stückliste erforderlich. Einige Windows-Anwendungen fügen UTF-8-Dateien (insbesondere Notepad) Stücklisten hinzu. Die Erkennung von UTF-8-Dateien in Excel basiert auf Stücklisten, ohne dass Stücklisten davon ausgehen, dass der Inhalt in einer Windows-Codepage codiert ist.

Ah, wenn Sie also in Python geschriebenes csv / tsv in Excel laden, werden die Zeichen verstümmelt. Es erkennt es standardmäßig nicht als utf-8.

Recommended Posts

[WIP] Fluent Python-Studiennotizen
Python lernen note_002
Python lernen note_004
Python lernen note_003
Hinweis: Python
Python-Notiz
Hinweis: Python-Dekorator
Python-Programmierhinweis
[Python] Lernnotiz 1
Python lernen note_000
Python lernen note_006
Python lernen note_005
Jupyter-Studie note_002
[Hinweis] openCV + Python
Python-Anfängernotiz
Python lernen note_001
Jupyter-Studie note_003
Jupyter Study Note_007
Jupyter-Studie note_005
Erster Tag des Python-Studiums
[Anmerkung] zukünftige Aussage ~ Python ~
[Hinweis] Datei lesen ~ Python ~
Beachten Sie, dass Python ein Daemon ist
Hinweis: Python Skeleton Nya
Python Tkinter Primer Hinweis
Lernen Sie Python mit Google Colaboratory
Studie aus Python Hour4: Objektorientiert ②
[Hinweis] Betreiben Sie MongoDB mit Python
Studie aus Python Hour3: Funktionen
Python Pandas Studie aktuelle Zusammenfassung
Notizen für 3 Monate, seit ich Python gestartet habe
Studie aus Python Hour4: Objektorientiert ①
[AtCoder] ABC165C Persönliche Notiz [Python]
Beachten Sie, dass es Python 3 unterstützt
Ein Hinweis zu [Python] __debug__
Python Hinweis: Über den Vergleich mit is
[Hinweis] Project Euler in Python (Problem 1-22)
Python: Ein Hinweis zu Klasse 1 "Abstract"
(Hinweis) Seien Sie vorsichtig mit Python Argparse
Studie über die Miete in Tokio mit Python (3-2)
[Hinweis] Hallo Weltausgabe mit Python
boto3 (AWS SDK für Python) Hinweis
Fremdschlüssel in SQLite von Python [Hinweis]
Studie über die Miete in Tokio mit Python (3-3)
Studiere, nummeriere das Spiel mit Python
Studienhinweis 9_Installieren Sie Jenkins unter CentOS7
Python Hinweis: Holen Sie sich den aktuellen Monat
Ein Hinweis zu Mock (Python-Mock-Bibliothek)
Grundlegendes Studium von OpenCV mit Python