Μάθετε για τις συναρπαστικές δυνατότητες της Python 3.12 που θα κάνουν τη ζωή του προγραμματιστή σας πιο εύκολη.
Η Python σχεδιάζει να κυκλοφορήσει την έκδοση 3.12 της γλώσσας τον Οκτώβριο του 2023. Αυτή η έκδοση φέρνει μια σειρά από συναρπαστικές δυνατότητες και βελτιώσεις. Στόχος του είναι να βελτιώσει την εμπειρία κωδικοποίησης, προσφέροντας μια πιο αποτελεσματική και ισχυρή πλατφόρμα, που σας επιτρέπει να βελτιώσετε τις δεξιότητές σας κωδικοποίησης.
1. Ενισχυμένα μηνύματα λάθους
Η Python βελτιώνει συνεχώς τα μηνύματα λάθους στις πρόσφατες εκδόσεις. ο Η έκδοση 3.11 εισήγαγε πιο ακριβή μηνύματα σφάλματος υποδεικνύοντας τις ακριβείς θέσεις εντός των γραμμών.
Η Python 3.12 μεταφέρει αυτές τις βελτιώσεις στο επόμενο επίπεδο, με τις ακόλουθες προσθήκες:
- Οι προτάσεις για λειτουργικές μονάδες που λείπουν ("ξεχάσατε να εισαγάγετε το X;") περιλαμβάνουν πλέον ενότητες από την τυπική βιβλιοθήκη.
- Βελτιωμένες προτάσεις σφαλμάτων για συνηθισμένα συντακτικά σφάλματα που σχετίζονται με εισαγωγές. Για παράδειγμα, αν έχετε εισαγωγή p από m στον κώδικά σας, ένα σφάλμα θα σας ζητήσει να ρωτήσετε εάν σκοπεύατε να γράψετε από m εισαγωγή p.
- Τα σφάλματα εισαγωγής για μια δεδομένη λειτουργική μονάδα περιλαμβάνουν πλέον προτάσεις από τον χώρο ονομάτων της εισαγόμενης λειτουργικής μονάδας.
- ΌνομαΣφάλμα τώρα ενσωματώνουν και προτάσεις εαυτός προστίθεται στο όνομα όταν αυξάνεται σε μια παρουσία κλάσης. Για παράδειγμα, αν το όνομα Ταχύτητα δεν έχει οριστεί, θα προταθεί το μήνυμα σφάλματος αυτο.ταχύτητα ως πιθανή διόρθωση. Αυτό είναι ιδιαίτερα χρήσιμο από την παράλειψη εαυτός Για παράδειγμα, οι μεταβλητές είναι μια κοινή πηγή σφαλμάτων σε περιπτώσεις κλάσης.
2. Υποστήριξη για το Linux Perf Profiler
Το ευρέως χρησιμοποιούμενο εργαλείο προφίλ Linux, perf, μπορεί πλέον να λειτουργεί με προγράμματα Python 3.12. Στο παρελθόν, επικεντρωνόταν μόνο στην παρακολούθηση λειτουργιών σε επίπεδο C εντός του χρόνου εκτέλεσης της Python.
Με την Python 3.12, μπορείτε τώρα να ενεργοποιήσετε το perf για να συλλέξετε λεπτομέρειες και για τα προγράμματα Python. Μπορείτε να το ενεργοποιήσετε είτε σε επίπεδο περιβάλλοντος είτε σε ένα πρόγραμμα Python χρησιμοποιώντας το sys.activate_stack_trampoline λειτουργία.
3. Βελτιώσεις τύπου Hinting
Από την εισαγωγή της στην Python 3.5, η σύνταξη τύπου-hinting της Python έχει επιτρέψει στα εργαλεία linting να ανιχνεύουν εκ των προτέρων ένα ευρύ φάσμα σφαλμάτων. Με κάθε επόμενη κυκλοφορία, το σύστημα τύπων της Python έχει εξελιχθεί ώστε να περιλαμβάνει ένα ευρύτερο φάσμα περιπτώσεων χρήσης, προσφέροντας βελτιωμένες δυνατότητες πληκτρολόγησης.
TypedDict
Η Python 3.12 εισάγει το χρήση των TypedDicts ως πηγή για υπαινιγμούς ορισμάτων λέξεων-κλειδιών σε συναρτήσεις. Αυτό χρησιμοποιεί το Unpack variadic generic, το οποίο παρουσίασε η έκδοση 3.11.
Ακολουθεί ένα παράδειγμα που δείχνει αυτό το χαρακτηριστικό:
τάξηΤαινία(TypedDict):
όνομα: str
έτος: ενθ
deffoo(**kwargs: Unpack[Movie]) -> Κανένας: ...
Σε αυτή την περίπτωση, η συνάρτηση foo μπορεί να λάβει ορίσματα λέξεων-κλειδιών με ονόματα και τύπους που ευθυγραμμίζονται με τα περιεχόμενα του Movie TypedDict: όνομα του τύπου str και έτος του τύπου ενθ.
Αυτή η βελτίωση αποδεικνύεται πολύτιμη όταν συναρτήσεις τύπου-hinting που δέχονται προαιρετικά ορίσματα μόνο για λέξεις-κλειδιά χωρίς προεπιλεγμένες τιμές.
Πληκτρολογήστε Παράμετρος Σύνταξη
Η Python 3.12 εισάγει μια πιο συνοπτική σύνταξη για τον καθορισμό τύπων σε γενικές κλάσεις, συναρτήσεις ή ψευδώνυμα τύπου.
Σκέψου τα ακόλουθα:
# η παλιά μέθοδος
από πληκτρολόγηση εισαγωγή TypeVar
_T = TypeVar("_T")
deffunc(α: _Τ, β: _Τ) -> _T:
...
# η μέθοδος παραμέτρου νέου τύπου
deffunc[Τ](α: Τ, β: Τ) -> Τ:
...
Με τη νέα σύνταξη, δεν χρειάζεται να εισαγάγετε ρητά το TypeVar. Αντίθετα, μπορείτε να χρησιμοποιήσετε το func[T] σύνταξη για να υποδείξει αναφορές γενικού τύπου. Είναι επίσης δυνατός ο ορισμός ορίων τύπου, όπως ο καθορισμός ότι ένας τύπος πρέπει να είναι ένας από μια ομάδα τύπων. Ωστόσο, αυτοί οι ίδιοι οι τύποι δεν μπορούν να είναι γενικοί. Ένα παράδειγμα αυτής της σύνταξης είναι func[T: (str, int)].
4. Συλλογή απορριμάτων
Στην Python 3.12, το μηχανισμός συλλογής σκουπιδιών (GC). άλλαξε. Προηγουμένως, το GC εκτελούσε κάθε φορά που εκχωρούνταν ένα αντικείμενο.
Ωστόσο, ξεκινώντας από την Python 3.12, το GC λειτουργεί αποκλειστικά εντός του διακοπής ισοτιμίας μηχανισμό στον βρόχο bytecode Python. Με άλλα λόγια, τρέχει μεταξύ της εκτέλεσης ενός bytecode και του επόμενου.
Επιπλέον, το GC ενεργοποιείται επίσης όταν γίνεται επίκληση του μηχανισμού ελέγχου χειρισμού σήματος του CPython. Αυτή η προσαρμογή επιτρέπει την περιοδική συλλογή απορριμμάτων κατά τη διάρκεια μακροχρόνιων κλήσεων σε επεκτάσεις C εκτός του χρόνου εκτέλεσης.
Αποκάλυψη της Python 3.12
Η Python 3.12 εισάγει μια σειρά από συναρπαστικές δυνατότητες και βελτιώσεις, φέρνοντας επανάσταση στην εμπειρία κωδικοποίησης για εσάς. Με βελτιωμένα μηνύματα σφάλματος, βελτιωμένες δυνατότητες πληκτρολόγησης, υποστήριξη για το Linux Perf Profiler και βελτιστοποιημένη συλλογή σκουπιδιών, η Python 3.12 σας εξοπλίζει με τα εργαλεία για να γράψετε κώδικα υψηλής ποιότητας αποτελεσματικά. Αγκαλιάστε τη δύναμη της Python και ανεβάστε τις δεξιότητές σας κωδικοποίησης σε νέα ύψη.