Κυκλοφόρησε μια νέα σταθερή έκδοση της δημοφιλής γλώσσας προγραμματισμού Python.

Η Python είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου, γενικής χρήσης που στοχεύει στη βελτίωση της παραγωγικότητας των προγραμματιστών και της αναγνωσιμότητας του κώδικα. Τα κύρια χαρακτηριστικά είναι η δυναμική πληκτρολόγηση, η αυτόματη διαχείριση μνήμης, η πλήρης ενδοσκόπηση, ο μηχανισμός χειρισμού εξαιρέσεων, η υποστήριξη για υπολογιστές πολλαπλών νημάτων, οι δομές δεδομένων υψηλού επιπέδου.

Η Python είναι μια σταθερή και ευρέως διαδεδομένη γλώσσα. Χρησιμοποιείται σε πολλά έργα και σε διάφορες δυνατότητες: ως κύρια γλώσσα προγραμματισμού ή για τη δημιουργία επεκτάσεων και ενσωματώσεων εφαρμογών. Κύριοι τομείς εφαρμογής: ανάπτυξη ιστού, μηχανική μάθηση και ανάλυση δεδομένων, αυτοματισμός και διαχείριση συστήματος. Η Python αυτή τη στιγμή βρίσκεται στην τρίτη θέση στην κατάταξη TIOBE.

Βασικές αλλαγές:

Νέος αναλυτής υψηλής απόδοσης βασισμένος σε γραμματικές PEG.

Στη νέα έκδοση, ο τρέχων αναλυτής Python που βασίζεται σε γραμματικές LL(1) (KS-grammar) αντικαθίσταται από έναν νέο αναλυτή υψηλής απόδοσης και σταθερό βασισμένο σε PEG (PB-grammar). Οι αναλυτές για γλώσσες που αντιπροσωπεύονται από γραμματικές KS, όπως οι αναλυτές LR, απαιτούν ένα ειδικό βήμα λεξιλογικής ανάλυσης που διασπά την είσοδο σύμφωνα με κενά, σημεία στίξης και ούτω καθεξής. Αυτό είναι απαραίτητο επειδή αυτοί οι αναλυτές χρησιμοποιούν προετοιμασία για να επεξεργαστούν ορισμένες γραμματικές KS σε γραμμικό χρόνο. Οι γραμματικές RV δεν απαιτούν ξεχωριστό βήμα λεξιλογικής ανάλυσης και οι κανόνες για αυτό μπορούν να καθοριστούν μαζί με άλλους γραμματικούς κανόνες.

Νέοι χειριστές και λειτουργίες

Δύο νέοι τελεστές προστέθηκαν στην ενσωματωμένη κλάση dict, | για συγχώνευση λεξικών και |= για ενημέρωση.

Δύο νέες συναρτήσεις έχουν προστεθεί στην κλάση str: str.removeprefix(πρόθεμα) και str.removesuffix(κατάληξη).

Υπαινιγμός τύπων για ενσωματωμένους τύπους συλλογής

Αυτή η έκδοση περιλαμβάνει υποστήριξη για σύνταξη γεννήτριας σε όλες τις τυπικές συλλογές που είναι διαθέσιμες αυτήν τη στιγμή.

def read_blog_tags(tags: list[str]) -> Κανένα:
για ετικέτες σε ετικέτες:
εκτύπωση ("Όνομα ετικέτας", ετικέτα)

Άλλες αλλαγές

  • PEP 573 Πρόσβαση στην κατάσταση μονάδας με χρήση μεθόδων επέκτασης C

  • PEP 593 Ευέλικτες συναρτήσεις και μεταβλητοί σχολιασμοί

  • Το PEP 602 Python κινείται σε ετήσιες σταθερές εκδόσεις

  • PEP 614 Χαλαρωτικοί περιορισμοί γραμματικής σε διακοσμητές

  • PEP 615 IANA Υποστήριξη βάσης δεδομένων ζώνης ώρας στην τυπική βιβλιοθήκη

  • BPO 38379 Η συλλογή απορριμμάτων δεν μπλοκάρει τα ανακτημένα αντικείμενα

  • BPO 38692 os.pidfd_open, για έλεγχο διεργασιών χωρίς αγώνες και σήματα.

  • Υποστήριξη BPO 39926 Unicode ενημερώθηκε στην έκδοση 13.0.0

  • BPO 1635741, η Python δεν παρουσιάζει πλέον διαρροές κατά την προετοιμασία της Python πολλές φορές στην ίδια διαδικασία

  • Συλλογές Python (εύρος, πλειάδα, σετ, παγωμένο σύνολο, λίστα, dict) επιταχύνθηκαν με κλήση διανυσμάτων PEP 590

  • Ορισμένες λειτουργικές μονάδες Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) χρησιμοποιούν τώρα προετοιμασία πολυφασικής όπως ορίζεται στο PEP 489

  • Ορισμένες τυπικές μονάδες βιβλιοθήκης (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) χρησιμοποιούν τώρα το σταθερό ABI που ορίζεται από το PEP 384.

Πηγή: linux.org.ru

Προσθέστε ένα σχόλιο