Οι πιο ενδιαφέρουσες καινοτομίες:
- Έκφραση ανάθεσης:
Ο νέος τελεστής := σάς επιτρέπει να εκχωρήσετε τιμές σε μεταβλητές μέσα στις εκφράσεις. Για παράδειγμα:
αν (n := len(a)) > 10:
print(f"Η λίστα είναι πολύ μεγάλη ({n} στοιχεία, αναμενόμενα <= 10)") - Ορίσματα μόνο θέσης:
Μπορείτε τώρα να καθορίσετε ποιες παράμετροι συνάρτησης μπορούν να περάσουν μέσω της σύνταξης ορισμάτων με όνομα και ποιες όχι. Παράδειγμα:
def f(a, b, /, c, d, *, e, f):
εκτύπωση (α, β, γ, δ, ε, στ)f(10, 20, 30, d=40, e=50, f=60) # OK
f(10, b=20, c=30, d=40, e=50, f=60) # σφάλμα, το `b` δεν μπορεί να είναι ονομασμένο όρισμα
f(10, 20, 30, 40, 50, f=60) # σφάλμα, το `e` πρέπει να είναι ένα ονομασμένο όρισμαΑυτή η αλλαγή δίνει στους προγραμματιστές έναν τρόπο να προστατεύουν τους χρήστες των API τους από αλλαγές στα ονόματα των ορισμών συναρτήσεων.
- Υποστήριξη f-strings = για αυτο-τεκμηρίωση εκφράσεων και εντοπισμό σφαλμάτων:
Προστέθηκε ζάχαρη για την απλοποίηση των μηνυμάτων εντοπισμού σφαλμάτων/καταγραφής.
n = 42
εκτύπωση (f'Hello world {n=}.')
Το # θα εκτυπώσει "Hello world n=42." - Διορθώθηκε η λέξη-κλειδί συνέχεια στο τελικό μπλοκ (δεν λειτουργούσε πριν).
Αλλα:
- Μπορείτε να καθορίσετε ρητά τη διαδρομή προς την κρυφή μνήμη bytecode αντί για την προεπιλεγμένη __pycache__.
- Οι εκδόσεις εντοπισμού σφαλμάτων και έκδοσης χρησιμοποιούν το ίδιο ABI.
Πηγή: linux.org.ru