Laut der Entwicklungs-Roadmap (PEP-478) soll Python 3.5 am 13. September (wahrscheinlich US-Zeit) offiziell veröffentlicht werden. .. Ein zusätzlicher Release-Kandidat (rc4) wurde möglicherweise am 9. September veröffentlicht (https://www.python.org/downloads/release/python-350rc4/), was möglicherweise etwas spät ist, aber wahrscheinlich Es wird innerhalb einer Woche herauskommen. Also habe ich eine japanische Zusammenfassung der Änderungen in Python 3.5 + einen Kommentar gemacht. Die ursprüngliche Geschichte ist "Zusammenfassung - Release-Highlights" am Anfang von hier.
Laden Sie zum Testen von Python3.5 die neuesten Release-Kandidaten von [hier] herunter (https://www.python.org/downloads/release/python-350rc4/). Oder wenn Sie pyenv verwenden, können Sie es einfach mit pyenv install
installieren, aber die neueste Version von pyenv v20150901 unterstützt nur bis zu rc2, sodass Sie sich damit abfinden oder pyenv von HEAD abrufen müssen. Wenn Sie Homebrew verwenden, sieht es so aus.
brew uninstall pyenv #Wenn bereits installiert
brew install pyenv --HEAD
pyenv install 3.5.0rc4
Wie geplant wurde 3.5.0 veröffentlicht. Um ehrlich zu sein, ich hatte nicht erwartet, so bald zu kommen.
pyenv wurde ebenfalls sofort auf 20150913 aktualisiert, wobei 3.5.0 offiziell unterstützt wurde. Es ist bereits auf Homebrew. Jeder arbeitet schnell! Wenn Sie es also ausprobieren möchten, ist dies in Ordnung.
brew install pyenv #Oder wenn Sie es installiert haben, brauen Sie ein Upgrade
pyenv install 3.5.0
PEP-465 Vorgeschlagene Spezifikation hinzugefügt, damit die Matrixmultiplikation in der Form "a @ b" geschrieben werden kann .. Das Seltsame ist, dass die Standardbibliothek keine Implementierung bereitstellt, die sie verwendet, sondern nur die Spezifikationen. Stattdessen haben einige externe Bibliotheken wie numpy Unterstützung angekündigt.
In PEP-492 vorgeschlagene Spezifikationen für die Definition und Verwendung von Korroutinen wurden hinzugefügt. Bisher war es möglich, mit Generator eine Cor-Routine zu erstellen. Um das Verständnis zu erleichtern, wurden die Schlüsselwörter async und await eingeführt und die Spezifikationen erweitert.
Eine Erweiterung der Werterweiterung mit "" und "**", wie in [PEP-448] vorgeschlagen (https://www.python.org/dev/peps/pep-0448/). Es kann mehrfach als Funktionsargument wie "print ( [1], * [2], 3)" oder in Tapples, Listen und Wörterbüchern wie "[* range (4), 4]" verwendet werden. Wird sein.
zipapp
Python kann komprimierten Python-Code ausführen. Außerdem seit v2.6! Es ist eine Verschwendung, eine spezielle Funktion zu haben, die nicht verwendet wird, ohne dass es jemand weiß (ich wusste es nicht einmal!). Ein Vorschlag zur Vereinfachung der Verwendung ist daher [PEP-441](https: //www.python). Das Tool, das in org / dev / peps / pep-0441 /) erstellt wurde, ist zipapp. Der mit Zip konsolidierte Python-Code heißt "Python Zip Application", und die Funktionen zum Erstellen werden bereitgestellt.
Bisher könnte ich so etwas wie "% 04x"% 10 "machen, aber das Ergebnis ist str-Typ. Eine Erweiterung, die es erlaubt, ein Bytetyp in Form von "b"% 04x "% 10" zu sein.
Sie können Dinge wie "b" \ xf0 \ x9f \ x90 \ x8d'.hex () "ausführen.
Es scheint, dass Sie mit Tupel indizieren können, um auf die Elemente eines mehrdimensionalen Arrays (Matrix) zuzugreifen.
Ich habe die Notwendigkeit dafür nicht wirklich verstanden ...
Ein Typ von RuntimeError, der auftritt, wenn die maximale Anzahl von Rekursiven überschritten wird.
Ausnahme am Ende einer Wiederholung mit asynchronem Iterable, erstellt von async for.
Wenn LC_TYPE das POSIX-Gebietsschema (C-Gebietsschema) ist, verwenden sys.stdin und sys.stdout jetzt Ersatz-Escape-Fehlerbehandlungsroutinen anstelle strenger Fehlerbehandlungsroutinen.
Wenn Sie Python mit der Option -O oder -OO ausführen, wurden die optimierten Byte-Kompilierungsergebnisse in .pyo-Dateien anstelle von .pyc gespeichert. Ab Python 3.5 wird es abgeschafft und in einer .pyc-Datei gespeichert. Die Optimierungsstufe wird im Dateinamen (z. B. xxx.cpython-35.opt-1.pyc) ([PEP-488]) beschrieben. (https://www.python.org/dev/peps/pep-0488/))
Bisher wurden integrierte Module und Erweiterungen sofort generiert und initialisiert. Dies wird dahingehend geändert, dass die Generierung zuerst für alle Module generiert und dann der Initialisierungscode wie bei anderen Modulen ausgeführt wird. (PEP-489)
Sammlungen.OrderedDict wurde in C 4- bis 100-mal schneller neu implementiert!
Der Bytetyp kann auch mit Argumenten verwendet werden, die nur mit dem Typ str übergeben werden konnten (Präfixspezifikation usw.). Sie können auch Keine angeben.
Speicher-BIO-Unterstützung hinzugefügt. Durch diese Änderung kann die SSL-Protokollverarbeitung von der eigentlichen Socket-E / A-Verarbeitung getrennt werden.
Leichtere TracebackException-, StackSummary- und FrameSummary-Klassen hinzugefügt
Functools.lru_cache wurde als Dekorator bereitgestellt, um die Ergebnisse von Funktionsaufrufen zwischenzuspeichern, wurde jedoch in C neu implementiert.
Es kann mit ssl.SSLContext verfügbar gemacht werden, wurde jedoch vollständig aus der Standardbibliothek entfernt. Diese Änderung wurde auch auf Version 3.4 und Version 2.7 zurückportiert. Dies wäre eine Problemumgehung für das Problem der SSLv3-Sicherheitsanfälligkeit, das als [POODLE Attack] bezeichnet wird (https://en.wikipedia.org/wiki/Transport_Layer_Security#POODLE.E6.94.BB.E6.92.83). ..
Strikte Analyse von Cookies, um Injektionsangriffe zu verhindern.
Es stehen zwei Typen zur Verfügung: ein Web-Installationsprogramm, das die erforderlichen Dateien zum Zeitpunkt der Installation von einem kleinen Installationsprogramm herunterlädt, und ein Offline-Installationsprogramm, das alle Standardkomponenten enthält. Es gibt 32-Bit-Version und 64-Bit-Version.
Python 3.5 für Windows wurde mit MSVC ++ 14.0 erstellt und die Erweiterung muss auch damit kompiliert werden.
Zusätzlich zu den oben vorgestellten hat Was ist neu in Python 3.5 verschiedene Änderungen vorgenommen. Wenn es etwas gibt, das interessant oder brauchbar aussieht, würde ich es gerne aufgreifen.
Recommended Posts