למד על התכונות המרגשות ב- Python 3.12 שיקלו על חיי המפתח שלך.
Python מתכננת לשחרר את גרסה 3.12 של השפה באוקטובר 2023. גרסה זו מביאה מגוון של תכונות ושיפורים מרתקים. מטרתו היא לשפר את חווית הקידוד שלך על ידי הצעת פלטפורמה יעילה וחזקה יותר, המאפשרת לך לשפר את כישורי הקידוד שלך.
1. הודעות שגיאה משופרות
Python שיפרה ללא הרף את הודעות השגיאה שלה בגרסאות האחרונות. ה גרסה 3.11 הציגה הודעות שגיאה מדויקות יותר על ידי ציון המיקומים המדויקים בתוך קווים.
Python 3.12 לוקח את השיפורים הללו לשלב הבא, עם התוספות הבאות:
- הצעות למודולים חסרים ("שכחת לייבא X?") מקיפות כעת מודולים מהספרייה הסטנדרטית.
- הצעות שגיאה משופרות לשגיאות תחביר נפוצות הקשורות לייבוא. למשל, אם יש לך ייבוא p מ-m בקוד שלך, שגיאה תבקש לשאול אם התכוונת לכתוב מ ייבוא p.
- שגיאות ייבוא עבור מודול נתון כוללות כעת הצעות ממרחב השמות של המודול המיובא.
- שגיאת שם הצעות עכשיו גם לשלב עצמי נוסף לשם כאשר הועלה בתוך מופע מחלקה. למשל, אם השם מְהִירוּת לא מוגדר, הודעת השגיאה תציע מהירות עצמית כתיקון פוטנציאלי. זה שימושי במיוחד מאז ההשמטה עצמי למשל משתני דוגמה הם מקור נפוץ לשגיאות במופעי מחלקה.
2. תמיכה ב-Linux Perf Profiler
כלי הפרופילים של לינוקס בשימוש נרחב, perf, יכול כעת לעבוד עם תוכניות Python 3.12. בעבר, הוא התמקד רק במעקב אחר פעולות ברמת C בזמן הריצה של Python.
עם Python 3.12, כעת אתה יכול להפעיל perf כדי לאסוף פרטים גם על תוכניות Python. אתה יכול להפעיל אותו ברמת הסביבה או בתוך תוכנית Python באמצעות sys.activate_stack_trampoline פוּנקצִיָה.
3. סוג שיפורי רמז
מאז הצגתו ב-Python 3.5, תחביר הטיפוס של Python איפשר לכלי Linting לזהות מגוון רחב של שגיאות מראש. עם כל מהדורה שלאחר מכן, מערכת הסוג של Python התפתחה כדי להקיף מגוון רחב יותר של מקרי שימוש, ומציעה תכונות הקלדה משופרות.
TypedDict
Python 3.12 מציג את שימוש ב-TypedDicts כמקור לרמז על ארגומנטים של מילות מפתח בפונקציות. זה משתמש בגנרי Unpack variadic, שגרסה 3.11 הציגה.
להלן דוגמה הממחישה תכונה זו:
מעמדסרט(TypedDict):
שם: str
שנה: int
defפו(**kwargs: פרק [סרט]) -> אף אחד: ...
במקרה זה, הפונקציה פו יכול לקבל ארגומנטים של מילות מפתח עם שמות וסוגים שמתיישרים עם התוכן של Movie TypedDict: שֵׁם של סוג str ו שָׁנָה של סוג int.
שיפור זה מתגלה כבעל ערך כאשר פונקציות רומזות סוג המקבלות ארגומנטים אופציונליים של מילת מפתח בלבד ללא ערכי ברירת מחדל.
סוג פרמטר תחביר
Python 3.12 מציג תחביר תמציתי יותר לציון טיפוסים במחלקות, פונקציות או כינויים כלליים.
שקול את הדברים הבאים:
# השיטה הישנה
מ הקלדה יְבוּא TypeVar
_T = TypeVar("_T")
deffunc(א: _T, ב: _T) -> _T:
...
# שיטת פרמטר הסוג החדש
deffunc[ט](א: T, ב: T) -> T:
...
עם התחביר החדש, אין צורך לייבא את TypeVar באופן מפורש. במקום זאת, אתה יכול להשתמש ב- func[T] תחביר לציון הפניות לסוג כללי. אפשר גם להגדיר גבולות טיפוס, כמו לציין שטיפוס חייב להיות אחד מקבוצת טיפוסים. עם זאת, סוגים אלה עצמם אינם יכולים להיות גנריים. דוגמה לתחביר זה היא func[T: (str, int)].
4. איסוף זבל
ב-Python 3.12, ה מנגנון איסוף אשפה (GC). השתנה. בעבר, ה-GC פעל בכל פעם שהוקצה חפץ.
עם זאת, החל מ-Python 3.12, ה-GC פועל באופן בלעדי בתוך מפסק eval מנגנון בלולאת bytecode של Python. במילים אחרות, הוא פועל בין ביצוע של קוד בתים אחד למשנהו.
בנוסף, ה-GC מופעל גם כאשר מנגנון בדיקת מטפל האותות של CPython מופעל. התאמה זו מאפשרת איסוף אשפה תקופתי במהלך שיחות ארוכות לתוספי C מחוץ לזמן הריצה.
חושפת Python 3.12
Python 3.12 מציג מגוון של תכונות ושיפורים מלהיבים, וחולל מהפכה בחוויית הקידוד עבורך. עם הודעות שגיאה משופרות, יכולות הקלדה משופרות, תמיכה ב-Linux Perf Profiler ו איסוף אשפה אופטימלי, Python 3.12 מצייד אותך בכלים לכתיבת קוד באיכות גבוהה ביעילות. אמצו את הכוח של Python והעלו את כישורי הקידוד שלכם לגבהים חדשים.