Python 3.9 Update

 

Am 5. Oktober diesen Jahres wurde die erste offizielle Version von Python 3.9 veröffentlicht. Jedes grössere Update der vielfältigen Programmiersprache bringt Verbesserungen und Neuerungen mit sich, welche die Anwendung und Performance von Python nachhaltig verbessern.

In neuen Versionen von Python werden oft neue Funktionen eingeführt, welche die manuelle Lösung von Aufgaben ersetzen sollen. Neben solchen Neuerungen werden aber ausserdem viele Verbesserungen an der CPython Runtime, dem eigentlichen Kern der Programmiersprache, vorgenommen. Diese “versteckten” Änderungen haben zum Ziel Effizienz und Performance zu erhöhen.

Mit Python 3.9 kommen neue Funktionen zur einfacheren Manipulation von Strings und Dictionaries hinzu. Ausserdem wurden die Möglichkeiten zum Einsatz von Dekoratoren und sogenannten Type Hints erweitert und verbessert. Neu sind ebenfalls keine Third-Party Bibliotheken mehr nötig, um mit Zeitzonen arbeiten zu können.

Beispiel für die Verwendung von Zeitzonen ohne Third-Party Bibliotheken:

python3.9 timezones

 

Die Entfernung von Präfixen und Suffixen in Strings konnte bisher nur manuell und mit hohem Aufwand bewerkstelligt werden und war deshalb eine mühsame Arbeit. Durch entsprechende neue Funktionen in Python 3.9 kann dieser Aufwand nun umgangen und damit wertvolle Zeit gespart werden.

Beispiel für die Entfernung von Prä- und Suffixen:

python3.9 affix

 

Des Weiteren kommen mit Python 3.9 zwei neue Operatoren für den Dictionary Datentypen hinzu. Mit den beiden neuen Operatoren können zwei Dictionaries zusammengeführt oder aktualisiert werden. Auch diese Operationen mussten zuvor manuell und aufwändig durchgeführt werden.

Beispiel der neuen Operatoren für Dictionaries:

python3.9 dicts

 

Mit einem Decorator kann das Verhalten einer Funktion beeinflusst werden, ohne diese permanent zu verändern. Dies ist beispielsweise von Vorteil, wenn eine Funktion für eine spezifische Situation angepasst werden soll. Für die Expression des Decorators gab es bis anhin klare Restriktionen, die mit dem Update auf Version 3.9 teilweise aufgehoben wurden und sich somit noch mehr Möglichkeiten in dessen Anwendung eröffnen.

Type Hints, also die Datentypkennzeichnung von Variabeln und Funktionen, dienen zur Sicherstellung von sauberem und beständigem Code. In Python 3.9 sind neu neben den normalen Variabeln auch Datenkollektion wie Listen oder Dictionaries kompatibel mit Type Hints. Bisher mussten dafür externe Bibliotheken genutzt werden. Ausserdem können flexible Annotationen für Funktionen und Variabeln verwendet werden. Beispielsweise verrät der Ausdruck Variable[int, ctype(“char”)], dass die Integer Variable als Char Type in der Programmiersprache C interpretiert werden soll. Diese Annotationen dienen zur besseren Übersicht durch Linter und werden von Python nicht wirklich verarbeitet und durchgesetzt.

Beispiel für die Verwendung von Type Hints in Funktionen:

python3.9 affix

 

Für die Version 3.9 wurden ebenfalls viele Änderungen im Kern von Python vorgenommen. Der Parser ist ein Kernelement des Python Interpreters. Er teilt den geschriebenen Quellcode in einen sogenannten Syntaxbaum auf, was für die weitere Ausführung wichtig ist. Bisher wurde der LL(1) Parser verwendet, der sich durch seinen simplen Aufbau auszeichnet. Der Nachteil des simplen Aufbaus kommt bei Hard Cases (Spezialfällen) zum Vorschein, die mit mehr Aufwand umgangen werden müssen. Die Version 3.9 verwendet neu einen leistungsstärkeren PEG Parser, der die Nachteile des LL(1) Parser aufhebt und den selben Syntaxbaum erstellt.

Weitere Neuerungen in Python 3.9 betreffen die Art und Weise, wie Funktionen abgerufen werden. Bisher wurde in den meisten Fällen der tp_call Standard verwendet, da er genug flexibel für alle Fälle ist. Der tp_call bietet allerdings sehr schlechte Performance, was sich in der Ausführungszeit von Funktionen widerspiegelt. Das in Python 3.8 eingeführte vectorcall protocol ist dagegen viel schneller und wird in Version 3.9 standardmässig bei Funktionen wie tuple, set, list, dict, range, etc. eingesetzt.

Die Neuerungen von Python 3.8 auf 3.9 erleichtern den Entwicklern bei soXes ihre Arbeit und machen unseren Code noch effizienter. Aspekte wie der neue Parser oder der vermehrte Einsatz des vectorcall protocols gestalten die Entwicklung von Python Programme noch effektiver und tragen zur Verbesserung der Performance bei. Doch bevor das volle Potential der Neuerungen ausgenutzt werden kann wird es wie bei jedem grösseren Versionsupdate auch bei Python 3.9 eine Adaptionsphase geben, in der beispielsweise externe Bibliotheken aktualisiert werden müssen. soXes arbeitet aber bereits jetzt mit den Neuerungen, um sie so bald als möglich effektiv einsetzen zu können.

Testimonials

 
Unser dediziertes soXes Team hilft uns Prisma World erfolgreich weiter zu entwickeln. Ein grosses Danke an die IT Profis. Dr. J. P. Pflüger, CEO Prisma World AG
soXes überzeugt uns durch seine Agilität gepaart mit breitem und tiefem Know-how für komplexe Softwareentwicklungen. Markus Wiegand, CEO Wiegand AG
soXes hat unsere Projekte stets sehr zu unserer Zufriedenheit betreut. CorXL Ltd. JPD Dr. med. Jan Steffel, Oberarzt Kardiologie / Rhythmologie am Universitätsspital Zürich
Bei soXes wissen wir, dass wir in sehr guten Händen sind. Belinda Stublia, Lucullus SA
Das soXes Team überzeugt durch sein unglaubliches Engagement und Herzblut. Argjent Ukshini, IT Projektleiter Kundendienst Electrolux Schweiz AG
soXes has shown to be a very professional partner and we value their responsiveness, quick turnarounds and enthusiastic work ethics. Patrick Brigger, Co-founder & Chairman, getAbstract
Seit über 10 Jahren arbeiten wir erfolgreich mit soXes. Die Professionalität und Flexibilität von soXes überzeugt uns nach wie vor. Mark Rüegg, CEO CelsiusPro AG
Mit Kompetenz, Einsatzwillen und Tatkraft ebnet uns die soXes den Weg zum Erfolg. Cornelia Nestic, Associate Director, HypothekenZentrum AG
Die Zusammenarbeit mit den soXes Projektleitern meines Projekts ist ausgeprägt partnerschaftlich und offen. soXes zeigt die für solche Projekte notwendige Flexibilität und Agilität. Dies ist für mich ein entscheidender Faktor für den Projekterfolg. Dan Keller, Leiter Grossprojekte, TUS Telekommunikation und Sicherheit
Mit soXes an unserer Seite ist es uns gelungen, software-technisches Neuland zu betreten, Bruno Schmed, Mitglied der Geschäftsleitung, T&N Telekom und Netzwerk AG
Bei soXes bekommen wir Kompetenz und professionelle Resultate – jederzeit völlig unkompliziert, Simon Keel, Chief Technology Officer, Tolomeo Capital AG
soXes überzeugt bei den Projekten mit versierten Lösungen und engem Kundenkontakt. Roman Aebi, CEO Cenprom AG
soxes hat unsere Ideen zu einer Gesamtlösung umgesetzt: professionell, zeitgerecht und zu einem fairen Preis. Andreas Lehmann, CEO, PortaNet AG
soXes hat grosses Verständnis und Engagement für die komplexe IoT Gesamtlösung mit LoRaWAN und NFC bewiesen. Dies und die flexible strukturierte Zusammenarbeit waren die Basis für die Einfachheit, die MyPortaNet auszeichnen. Christoph Röthlisberger, IoT/Industrie 4.0 Begleiter, PortaNet AG

 

Sind Sie auf der Suche nach einer Unternehmung, welche Ihnen effektive Unterstützung und Beratung bei der Umsetzung und Betreuung Ihrer Software-Projekte bietet?


Unsere Dienstleistung deckt den gesamten Lebenszyklus einer IT-Lösung sowie das gesamte Spektrum moderner Softwareentwicklung ab.


Von der Business- und Prozessanalyse, der IT-Architektur bis zur Realisierung. Von der Inbetriebnahme bis zum Support. Sie profitieren von unserem Fachwissen und unseren Experten.

Mit über 150 erfolgreichen Entwicklungsprojekten und über 80 aktiven Kunden haben wir die Erfahrung und Sie die Idee.

Hinweis

Unsere Webseite verwendet Cookies, um den bestmöglichen Service zu gewährleisten. Mit der Nutzung der Seite stimmen Sie der Cookie-Nutzung zu. Dies können Sie in Ihren Browsereinstellungen ändern. Datenschutzerklärung.