Python 3.9: Was ist jetzt neu? Coole Funktionen zum Auschecken
Veröffentlicht: 2020-12-01Python ist eine allzeit beliebte und beliebteste Sprache unter Entwicklern. Laut dem Tiobe-Index, einer Programmiergemeinschaft, die Programmiersprachen nach ihrer Beliebtheit einstuft, wurde Python an zweiter Stelle vor Java eingestuft. Python wird von der Community hervorragend unterstützt und aufgrund seiner Einfachheit und Benutzerfreundlichkeit strebt jeder Anfänger danach, zumindest diese Sprache zu beherrschen.
Während diese Sprache in den letzten Jahren viele Aufmerksamkeit erregt hat und ihre Verwendung im Bereich der Datenanalyse, des maschinellen Lernens, der Webentwicklung, der Computeranwendung, des IOT oder anderer Entwicklungsbereiche gefunden hat, wurde ihre neueste Version Python 3.9 stable veröffentlicht und bringt a viele Änderungen vom Parser bis hin zu zusätzlichen Funktionalitäten, die in der Zeitachse der Feature-Releases geändert werden müssen. Sehen wir uns diese Änderungen im Detail an:
Inhaltsverzeichnis
Neuer Betreiber
Beim Umgang mit Wörterbüchern kommt es sehr oft vor, dass wir sie mit Einträgen aus anderen Wörterbüchern zusammenführen oder aktualisieren müssen. Früher konnte dies mit dem Update-Attribut des Dictionary-Objekts erfolgen: first_dict.update(second_dict), aber das Problem bei diesem Ansatz besteht darin, dass die Änderungen an Ort und Stelle vorgenommen werden und die ursprünglichen Werte geändert werden.
Um es zu einer vorübergehenden Änderung zu machen, ist eine andere Variable erforderlich, um den vorherigen Wert zu speichern. Diese neue Version hat einen neuen Operator eingeführt, der als Zusammenführungsoperator (|) bekannt ist und zum Zusammenführen von Wörterbüchern verwendet werden kann. Hier ist ein Codebeispiel, um dies zu verstehen:
A = { „Name“ : „Autor“, „Firma“ : „upGrad“}
B = { "Status" : "Lehrer"}
drucken (A|B)
Ausgabe: { „Name“ : „Autor“, „Firma“ : „upGrad“, „Status“ : „Dozent“}
| ist wie ein Verkettungsoperator, aber wenn Sie den ursprünglichen Wert aktualisieren möchten, können Sie einfach den Operator |= verwenden. In Fortsetzung des vorherigen Beispiels aktualisiert A |=B den Wert des A-Wörterbuchs.
Lesen Sie auch: Gehalt für Python-Entwickler in Indien
Zeichenfolgenoperationen
Die Textmanipulation bildet einen großen Teil des Data-Science-Lebenszyklus, insbesondere während NLP. Es gibt verschiedene Funktionen, um verschiedene Arten von Zeichenfolgenoperationen wie Aufteilen, Verketten, Ersetzen und vieles mehr auszuführen. Um diesem Erbe beizutreten, wurden zwei neue Operationen hinzugefügt, nämlich removesuffix() und removeprefix().
Wie der Name schon sagt, werden diese verwendet, um Präfixe und Suffixe aus einer Zeichenfolge zu entfernen. Auf sie kann über das String-Objekt zugegriffen werden. Diese Entfernung könnte einfach mit regulären Ausdrücken und dem Aufteilen der Zeichenfolgen erfolgen, aber jetzt haben wir diese Funktionalität in integrierten Bibliotheken. Hier ist ein einfaches Beispiel zur Veranschaulichung:
'@etwas_neues'.removeprefix('@')
'etwas_231'.removesufix('231')
Ausgabe:
etwas Neues
etwas_
Modifiziertes Zeitzonenmodul
Diese Version hat auch ein neues Modul namens Zoneninfo eingeführt, das die IANA-Datenbank in der Standardbibliothek unterstützt. Wir können die Zeitzone im DateTime-Objekt aus der Standardbibliothek angeben, aber der Benutzer kann am Ende komplexe Regeln für die Zeitzonen erstellen. Gemäß PEP 615 neigt die Benutzerbasis eher zu großen Zeitzonen wie UTC, IANA oder der lokalen Zeitzone des Systems. Jetzt können Sie ein Zonen-Info-Objekt erstellen, indem Sie den Konfigurationssuchpfad angeben, der die Form „Kontinent/Stadt“ hat. Zum Beispiel,
aus zoneinfo importiere ZoneInfo
from datetime import datetime
dt = datetime(2020, 11, 15, 01, tzinfo=ZoneInfo(“Asien/Kolkata”))
dt.tzname()
Ausgabe: 'IST'
Erfahren Sie mehr über: Top-Python-Tools
Neue mathematische Funktionen
Das Mathematikmodul besteht aus allen Zahlenoperationen, die in der allgemeinen Mathematik verwendet werden. Ob Sinus-, Cosinus-Funktionen, das Runden von Zahlen auf bestimmte Stellen oder universelle Konstanten wie Pi oder Exponential, das Mathe-Modul deckt nahezu alle Arten von Funktionen ab.
Drei neue Funktionen wurden dieser Liste hinzugefügt und es gibt math.lcm(), math.nextafter(), math.ulp(). Während das LCM (kleinstes gemeinsames Vielfaches) eine sehr häufig verwendete Funktion ist, werden die anderen beiden nicht so häufig verwendet. Früher mussten wir explizit eine Funktion für den LCM-Betrieb erstellen, aber jetzt, ab dieser neuen Version, haben wir eine eingebaute Funktionalität in der Standardbibliothek. Um diese Funktion zu verwenden, rufen Sie einfach auf:

Mathematik importieren
math.lcm(2,3)
Ausgabe: 6
Wenn in dieser Funktion keine Argumente übergeben werden, gibt sie 1 zurück, und wenn eines davon Null ist, gibt sie 0 zurück.
Hochleistungs-Parser
Abgesehen von all den neuen Ergänzungen auf Funktionsebene wurde der Python-Sprachparser auch auf eine neue, schnellere Technologie aktualisiert, die als PEG-Parser bekannt ist. Dieser Effekt wird sich nicht in dieser Version widerspiegeln, sondern im kommenden Python 3.10. Von dem Tag an, an dem Python erstellt wurde, verwendet es den LL(1)-Parser, der den Code von oben nach unten und von links nach rechts parst. Dieser Parser basiert auf kontextfreier Grammatik und ist daher mehrdeutig, was bedeutet, dass die Zeichenfolgen mehr als einen Parse-Baum haben können und die Anzahl der Zwischenschritte erhöht wird. Der neue PEG-Parser generiert nur einen gültigen AST (Abstract Syntax Trees), wodurch die Mehrdeutigkeit des vorherigen Parsers beseitigt wird.
Neue Zufallsfunktion und Änderung des Release-Zyklus
Im Modul random.random wurde die neue Methode randbytes(n) hinzugefügt, die zufällige n Bytes zurückgibt. Sie ist anderen Zufallsfunktionen sehr ähnlich. Auch zuvor veröffentlicht Python alle 18 Monate eine neue Version, die auf 12 Monate reduziert wurde.
Holen Sie sich eine Data-Science-Zertifizierung von den besten Universitäten der Welt. Lernen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Fazit
Jedes Mal, wenn eine neue Softwareversion veröffentlicht wird, bringt sie viele neue Änderungen mit sich. Hier haben wir einige der wichtigsten und hervorgehobenen Änderungen in Python besprochen, darunter neue Operatoren, zusätzliche Funktionen und einen verbesserten Parser.
Es gibt viele neue Änderungen in anderen Modulen, wie z. B. ast, asyncio, concurrent.futures, Multiprocessing, XML. Einige Funktionen wurden abgeschrieben und die Liste geht weiter. In der offiziellen Dokumentation finden Sie eine vollständige Liste der Aktualisierungen im neuen Python 3.9.
Wenn Sie neugierig sind, mehr über Python und Data Science zu erfahren, schauen Sie sich das PG Diploma in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische praktische Workshops, Mentoring mit Branchenexperten, 1-on-1 mit Mentoren aus der Branche, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.
Warum wird Python anderen Programmiersprachen vorgezogen?
Es gibt zahlreiche Gründe, warum Python anderen Sprachen vorgezogen wird. Erstens sind die Codes von Python lesbar und werden sogar von Entwicklern verstanden, die sie noch nie zuvor geschrieben haben. Python ist in der wissenschaftlichen Gemeinschaft weit verbreitet, und zahlreiche Forscher und Professoren gehören zu den Benutzern von Python. Auf Python erstellte Codes können von den Entwicklern geteilt, kopiert und geändert werden. Außerdem hat Python eine starke Community und entwickelt sich schnell weiter, da es eine freie und offene Programmiersprache ist. Python ist mit einer Vielzahl von Systemen kompatibel. Es hilft Entwicklern, da sie nicht mit Schwierigkeiten konfrontiert werden, die in anderen Sprachen vorherrschen.
Was ist die Verwendung von math.nextafter() und math.ulp() in Python?
nextafter() und ulp() sind zwei neue Funktionen, die der mathematischen Bibliothek in Python 3.9.0 hinzugefügt wurden. Die Funktion nextafter() gibt den nächsten Float-Wert nach x in Richtung y zurück. Wenn x gleich y ist, wird der Wert y zurückgegeben. Die Syntax lautet math.nextafter(x, y), wobei x und y zwei Ganzzahlen/Gleitkommawerte sind. ULP ist eine Abkürzung für Unit in the Last Place. ULP ist der Raum zwischen Gleitkommawerten in der numerischen Analyse und Informatik. Die Funktion math.ulp() gibt den Wert des niedrigstwertigen Bits von Float x zurück. Seine Syntax ist mathematisch ulp(x), und das einzugebende Argument x muss ein Gleitkommawert sein, dessen ulp zurückgegeben werden muss.
Was ist Parser in Python?
Während des Syntaxanalyseschritts untersucht ein Compiler, ob die von dem lexikalischen Analysator erzeugten Token gemäß den syntaktischen Regeln der Sprache organisiert sind oder nicht. Dafür ist ein Parser zuständig. Der Parser erhält eine Zeichenfolge von Tokens vom lexikalischen Analysator und validiert, dass die Zeichenfolge der Grammatik der Ausgangssprache entspricht. Alle Syntaxprobleme werden erkannt und gemeldet, und es wird ein Analysebaum erstellt, aus dem Entwickler Zwischencode generieren können. Außerdem kommuniziert das Parser-Modul mit Pythons internem Parser und Bytecode-Compiler. Der Hauptzweck dieser Schnittstelle besteht darin, Python-Codes zu ermöglichen, die Analysebäume eines Python-Ausdrucks zu ändern und daraus Arbeitscodes zu generieren.