Software-update: Python 3.11.0

Python logo (75 pix) Python is een objectgeoriënteerde programmeertaal die kan worden gebruikt om eenvoudige tot complexe, platformonafhankelijke applicaties te ontwikkelen. Het is in de jaren negentig ontworpen door Guido van Rossum, die destijds in Amsterdam voor het CWI werkte. Guido was als BDFL betrokken bij de ontwikkeling van Python. Hij heeft daarnaast voor Dropbox gewerkt, ging daarna met pensioen en toen dat niet echt beviel, ging hij aan de slag bij Microsoft. Versie 3.11 van Python is uitgekomen en de belangrijkste verbeteringen die daarin zijn aangebracht zijn hieronder voor je op een rijtje gezet.

Python 3.11.0 final is now available

Python 3.11 is finally released. In the CPython release team, we have put a lot of effort into making 3.11 the best version of Python possible. Better tracebacks, faster Python, exception groups and except*, typing improvements and much more.Some of the new major new features and changes in Python 3.11 are:

General changes
  • PEP 657 – Include Fine-Grained Error Locations in Tracebacks
  • PEP 654 – Exception Groups and except*
  • PEP 680 – tomllib: Support for Parsing TOML in the Standard Library
  • gh-90908 – Introduce task groups to asyncio
  • gh-34627 – Atomic grouping ((?>...)) and possessive quantifiers (*+, ++, ?+, {m,n}+) are now supported in regular expressions.
  • The Faster CPython Project is already yielding some exciting results. Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured a 1.22x speedup on the standard benchmark suite. See Faster CPython for details.
Typing and typing language changes
  • PEP 673 – Self Type
  • PEP 646 – Variadic Generics
  • PEP 675 – Arbitrary Literal String Type
  • PEP 655 – Marking individual TypedDict items as required or potentially-missing
  • PEP 681 – Data Class Transforms

Python

Versienummer 3.11.0
Releasestatus Final
Besturingssystemen Windows 7, Android, Linux, BSD, macOS, Solaris, UNIX, Windows Server 2008, iOS, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016, Windows Server 2019, Windows 11
Website Python Insider
Download https://www.python.org/downloads/
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Bart van Klaveren

Downloads en Best Buy Guide

25-10-2022 • 12:02

11

Submitter: VoDkA12

Bron: Python Insider

Update-historie

15-08 Python 3.13.7 1
07-08 Python 3.13.6 0
12-06 Python 3.13.5 0
04-06 Python 3.13.4 3
09-04 Python 3.13.3 5
07-02 Python 3.13.2 0
12-'24 Python 3.13.1 13
10-'24 Python 3.13 20
09-'24 Python 3.12.6 1
08-'24 Python 3.12.5 10
Meer historie

Reacties (11)

11
11
7
1
0
0
Wijzig sortering
Ik vind Python een hippie-taal waar regels meer richtlijnen zijn en waarmee je met veel weg komt. Is iets een integer? Ach dat zien we later wel als we er wat mee gaan doen. Laten we vooral niet teveel in hokjes denken.

Het is trouwens (als niet professional) mijn favoriete programmeertaal. Juist die enorme flexibiliteit en dat het vergevingsgezind is spreekt me aan. Wat de keerzijde wel is, is dat die taal onderwater wel degelijk met dingen werkt die je in je code niet expliciet hoeft te maken maar wel een rol spelen en problemen kunnen veroorzaken. Ook is Python niet de meest resource efficiënte taal.
Uiteraard optioneel maar type hinting is tegenwoordig een grote en veelgebruikte functie van Python. In het kort komt het erop neer dat je kunt definiëren wat je verwacht de type(s) van een variabel is, zodat je weet waartoe elk object in staat is (veelal voor code completion in IDE's/editors/linters/etc.). Bespaart je best wel wat tijd en uitzoekwerk voor grotere codebases ;)
Ook fijn als je type hinting bijhoudt tijdens library development aangezien tools zoals Sphinx dat gebruikt voor het genereren van gedetailleerde documentatie!
Voor mij zit de kracht ook in de library's. Ik ook als niet professional heb al leuke scraping script kunnen maken met beautifull soup bv.
Dat laatste verbaasde me zeer. ik heb een aantal zeer interessante videos gezien over hoe je loops efficient doet in Python. Het antwoord: geen loops gebruiken. Gewoon niet doen. Er is meestal een built-in alternatieve methode om het probleem op te lossen waar je een loop voor wil gebruiken.
Het is een zeer flexibele dynamische taal. Waarom je het dan een hippie-taal vind snap ik niet helemaal? Bij C# bijvoorbeeld kun je ook gewoon doodleuk overal var voorgooien en dat de compiler het uit zoekt. Terwijl de taal voor de rest redelijk strikt is met bijvoorbeeld OOP.
De genoemde optimalisatie en resulterende speed-up van tot 60% (en gemiddeld 22%) is echt significant! Netjes hoor!

[Reactie gewijzigd door paoper op 22 juli 2024 23:21]

On average, we measured a 1.22x speedup on the standard benchmark suite
... en gemiddeld 1.25% sneller dan voorheen.
1.25% lijkt me erg laag? Bedoel je niet eerder 25% sneller? :P
Excuus ik tiepte het snel uit mijn hoofd (had het al gecorrigeerd voor ik je comment zag. Maar inderdaad, (ongeveer) 1.25 maal* zo snel :p
ik had ergens gelezen dat het doel was om iedere release x% sneller te zijn.
Zeer leuke laagdrempelige taal.
LOL: die "atomic grouping in regex" is aangevraagd in 2001 !
Ach, beter laat dan nooit.

Op dit item kan niet meer gereageerd worden.