Python היא שפת תכנות ברמה גבוהה.
אחרי שנה של פיתוח, הוכרז על יציאת הגרסה היציבה וגם תחילת שלב בדיקות האלפא של שפת התכנות פייתון 3.12 ו-Python 3.13 (בהתאמה). מוזכר שענף חדש זה של Python 3.12 ייתמך במשך שנה וחצי, ולאחר מכן, למשך שלוש וחצי שנים נוספות, יופקו תיקונים לביטול פרצות.
הגרסה החדשה של Python 3.12 שמוצגת מגיעה עם שיפורים ב- גמישות של ניתוח מיתרי f. עם השיפור הזה עכשיו אפשר להשאיר הגבלות רבות בצד, מכיוון שעכשיו אתה יכול להכיל כל ביטוי חוקי ב- Python, כולל ביטויים מרובי שורות, הערות, קווים אחוריים ורצפי בריחה של Unicode. בנוסף, מחרוזות פנימיות מאפשרות כעת שימוש חוזר באותן מרכאות, כלומר כעת ניתן לעשות שימוש חוזר במירכאות כפולות בפנים מבלי לשנות למרכאות בודדות.
לדוגמא:
f"""{f'''{f'{f"{1+1}"}'}'''}"""
כעת ניתן לקנן באופן שרירותי:
f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"
אחד השינויים הבולטים הוא תמיכה במפרשי משנה מבודדים ומנעולים גלובליים נפרדים, שנועדו להגביר את היעילות של שימוש במשאבים במערכות מרובות ליבות, שכן עבור מתורגמנים שונים בתוך תהליך CPython מאפשר למספר מתורגמנים לרוץ בו זמנית בתהליך. כפי שהיא קיימת, התכונה זמינה כעת רק באמצעות C-API (תמיכה ב-Python API תופיע בענף הגדול הבא).
בנוסף לכך, מודגש גם כיהתוכן האינפורמטיבי של הודעות שגיאה הוגדל ומגוון החריגים הורחב, ומציע המלצות למניעת שגיאות דפוס. לדוגמה, כעת מוצגות הצעות לייבוא מודולי ספרייה סטנדרטיים שנשכחו והצעות לקידומת "עצמי".
נוספה את היכולת להשתמש בפרוטוקול המאגר בקוד Python. מחלקות המספקות שיטת "__buffer__()" יכולות לשמש כעת כסוגים הפועלים ישירות על נתונים בינאריים בזיכרון.
המודול sys.monitoring מוצע עבור איתור באגים ופרופיל, המאפשר לך לנטר אירועים ב-CPython כגון קריאות, החזרות פונקציות, ביצוע של שורות קוד שרירותיות, חריגים ומעברים עם תקורה מינימלית.
המתורגמן מיישם תמיכה עבור תת-מערכת הביצועים של ליבת לינוקס, המאפשר לקבוע שמות פונקציות של Python בעת יצירת פרופיל באמצעות כלי הביצועים (בעבר, רק שמות פונקציות C נקבעו בעקבות).
לגבי שיפורי ביצועים, מוזכר כי האופטימיזציות נמשכו, עם איזה הושג רווח ביצועים הכולל המוערך ב-5%., זה גם התווסף תמיכה ניסיונית עבור האופטימיזציה הבינארית BOLT לתהליך הבנייה, הגדלת הביצועים ב-1-5%, בעוד הביצועים של חבילת asyncio השתפרו משמעותית (כמה בדיקות מראות מהירות של 75%.
הרחבה מובנית של הבנת הרשימות יושמה, מה שמאיץ את העבודה עם הבנת הרשימות עד פי שניים (עבור קוד שמשתמש באופן פעיל בהבנת הרשימות, הבדיקות הראו עלייה בביצועים הכוללת של 11%).
כדי לשפר את האבטחה, יישומים מובנים של אלגוריתמים SHA1, SHA3, SHA2-384, SHA2-512 ו-MD5 ב-hashlib הוחלפו עם אפשרויות מאומתות רשמית מפרויקט HACL* (הטמעות מובנות משמשות רק אם OpenSSL אינו זמין).
של שינויים אחרים הבולטים:
- המודול הרחיב את התמיכה עבור Windows.
- Python מיישמת הגנת הצפת מחסנית.
יצירת הכיתה asyncio.Task הואצה. - הגודל של אובייקטי Unicode הצטמצם ב-8 עד 16 בתים.
- פעולות עם ביטויים רגולריים re.sub(), re.subn() ו-re.Pattern הואצו.
- הפעלת בדיקות isinstance() עבור פרוטוקולים מסוימים הואצה פי 2 עד 20 פעמים.
- באופן משמעותי (בבדיקות מסוימות עד 64%) הפונקציות tokenize.tokenize() ו- tokenize.generate_tokens() הוזזו.
- טעינת התכונה והקריאה לשיטת super() הואצו.
- תחביר ביאור חדש וקומפקטי יותר הוצע עבור מחלקות ופונקציות גנריות.
- מודול דפדפן האינטרנט אינו תומך עוד בדפדפנים ישנים יותר כולל Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird ו-Firefox עד גרסה 36.
- לקראת אופטימיזציות עתידיות, השתנה הייצוג הפנימי של מספרים שלמים.
אחרון חביב, כאמור, החלו בדיקות אלפא של Python 3.13, בהן הופיע מצב קומפילציה CPython ללא מנעול מתורגמן גלובלי (GIL, מנעול מתורגמן גלובלי).
הענף Python 3.13 יהיה באלפא למשך שבעה חודשים, במהלכם יתווספו פיצ'רים חדשים ויתוקנו באגים בהתאם ללוח הזמנים של הפיתוח החדש, העבודה על סניף חדש מתחילה חמישה חודשים לפני שחרורו של הסניף הקודם ועד שהגרסה הבאה מגיעה לשלב הבדיקה אלפא.
לאחר מכן, גרסאות הבטא ייבחנו למשך שלושה חודשים, במהלכם תיאסר הוספת פיצ'רים חדשים וכל תשומת הלב תוקדש לתיקון באגים. במהלך החודשיים האחרונים לפני השחרור, הסניף יהיה בשלב מועמד לשחרור, בו יתבצע התייצבות סופית.
סוף סוף כן אתה מעוניין לדעת יותר על זה, אתה יכול לבדוק את הפרטים ב הקישור הבא.