שגיאות ברורות
פייתון יציג לנו שגיאות ברורות יותר ככה שנדע מה לתקן,
למשל חסר נקודותיים:
1 | a = 2 |
python 3.9:
1 | PS code> py a.py |
python 3.10:
1 | PS code> py a.py |
דוגמא נוספת - אם שכחנו את השווה השני במשפט בדיקה:
1 | if amountOfMilk = 2: |
Switch-case
זוהי תוספת גדולה לפייתון!
עד כה יכולנו לבדוק בעזרת if-elif-else:
1 | messageType = Message.Type() |
במקום זה ניתן לכתוב עכשיו בעזרת match ו-case.
- כדי לבדוק כמה באותו התנאי ניתן להשתמש ב-
|. - כדי להשתמש בברית מחדל משתמשים ב-Discard
_.
דוגמא:
1 | messageType = Message.Type() |
ניתן להשתמש בזה גם בעזרת מחלקות:
1 | from dataclasses import dataclass |
הגדרת רמז לשני סוגי משתנה או יותר
הפיצ’ר הזה דומה מאוד לפיצ’ר בשפה TypeScript.
אחד האופציות בשפות דינאמיות שפונקציות ייקבלו סוג משתנה אחד או יותר,
למשל זה נפוץ לומר שאנחנו רוצים גם מספרים שלמים וגם מספרים עשרוניים, אז בTypeScript ניתן לעשות כך:
1 | function Do(myNumber: number | float){ |
פייתון הוסיפו את זה גם כן במקום להשתמש ב-Union.
לפני:
1 | def square(number: Union[int, float]) -> Union[int, float]: |
אחרי:
1 | def square(number: int | float) -> int | float: |
הגדרת TypeAlias
ניתן להצהיר על סוגי משתנים לפני שימושם, כעת ניתן להגדיר זאת בצורה מפורשת.
לפני:
1 | MyType = 'ClassName' |
אחרי:
1 | MyType: TypeAlias = 'ClassName' |
רשימת השינויים הקטנים יותר גדולה ולכן לא אכתוב את כולם.
ניתן לצפות בהם כאן
אחד השינויים הגדולים יותר זה ה-switch-case.
למרות שלפייתון יש הרבה עבודה כדי לסדר את ה-APIים שלה ולהביא אותה לשפה מודרנית לחלוטין,
היא מוכיחה את עצמה עם החידושים שהיא מכניסה ואני בטוח שהיא תישאר ל-20 שנה הקרובות לפחות!
פייתון 3.11 תצא בעתיד הקרוב ויש כבר גרסאות development שעובדות,
ניתן להתנסות כאן
תודה על הקריאה!