Python 3.5¶
להלן רשימה של PEPs שגובשו/התקבלו עבור Python 3.5, מקובצים לפי השפעתם על MicroPython.
הרחבות לתחביר |
סטטוס |
|
הכללות פריקה (unpacking) נוספות |
חלקי |
|
אופרטור כפל מטריצות חדש |
מלא |
|
קורוטינות עם תחביר |
מלא |
|
הרחבות ושינויים בזמן הריצה |
||
עיצוב % עבור מחרוזות בינאריות |
מלא |
|
ניסיון חוזר של קריאות מערכת הנכשלות עם |
מלא |
|
שינוי הטיפול ב- |
מלא |
|
שינויים בספרייה הסטנדרטית |
||
|
||
|
מלא |
|
שינויים שונים |
||
תמיכה משופרת ביישומי zip של Python |
||
הפיכת Python Launcher למודע לסביבות וירטואליות |
לא רלוונטי |
|
רמזי טיפוס (ייעוץ בלבד) |
מלא [1] |
|
ביטול קבצי PYO |
לא רלוונטי |
|
עיצוב מחדש של טעינת מודולי הרחבה |
||
שינויים נוספים בשפה:
נוספו מטפלי השגיאות namereplace. מטפלי השגיאות backslashreplace פועלים כעת עם פענוח ותרגום. |
|
מחרוזות תיעוד (docstrings) של מאפיינים (properties) ניתנות כעת לכתיבה. הדבר שימושי במיוחד עבור מחרוזות תיעוד של collections.namedtuple() |
|
ייבואים מעגליים הכוללים ייבואים יחסיים נתמכים כעת. |
מודולים חדשים:
שינויים במודולים מובנים:
מחלקת OrderedDict ממומשת כעת ב-C, מה שהופך אותה למהירה פי 4 עד 100. |
|
התצוגות OrderedDict.items(), OrderedDict.keys(), OrderedDict.values() תומכות כעת באיטרציה הפוכה (reversed()). |
|
מחלקת deque מגדירה כעת את index(), insert(), ו-copy(), ותומכת באופרטורים + ו-*. |
|
מחרוזות תיעוד (docstrings) שנוצרות על ידי namedtuple() ניתנות כעת לעדכון. |
|
מחלקת UserString מממשת כעת את המתודות __getnewargs__(), __rmod__(), casefold(), format_map(), isprintable() ו-maketrans() כדי להתאים למתודות התואמות של str. |
|
ניתן כעת להתאים אישית את השוואת האיברים ב-merge() על ידי העברת פונקציית מפתח בארגומנט מילת מפתח אופציונלי חדש key, וניתן להשתמש בארגומנט מילת מפתח אופציונלי חדש reverse כדי להפוך את השוואת האיברים |
|
מתודה חדשה BufferedIOBase.readinto1(), המשתמשת בלכל היותר קריאה אחת למתודות RawIOBase.read() או RawIOBase.readinto() של זרם הגלם הבסיסי |
|
מפענח ה-JSON זורק כעת JSONDecodeError במקום ValueError כדי לספק מידע הקשר טוב יותר על השגיאה. |
|
שני קבועים חדשים נוספו למודול math: inf ו-nan. |
מלא |
פונקציה חדשה isclose() מספקת דרך לבדוק שוויון מקורב. |
|
נוספה פונקציה חדשה gcd(). הפונקציה fractions.gcd() הוצאה כעת משימוש. |
|
נוספה הפונקציה החדשה scandir() המחזירה איטרטור של אובייקטי DirEntry. |
|
הפונקציה urandom() משתמשת כעת בקריאת המערכת getrandom() ב-Linux 3.17 או חדש יותר, וב-getentropy() ב-OpenBSD 5.6 וחדש יותר, מה שמסיר את הצורך להשתמש ב-/dev/urandom ומונע כשלים עקב מיצוי פוטנציאלי של מתארי קבצים. |
|
פונקציות חדשות get_blocking() ו-set_blocking() מאפשרות קבלה והגדרה של מצב החסימה של מתאר קובץ (O_NONBLOCK.) |
|
ישנה פונקציה חדשה os.path.commonpath() המחזירה את תת-הנתיב המשותף הארוך ביותר מבין שמות הנתיבים שהועברו |
|
הפניות והפניות מותנות לקבוצות בעלות אורך קבוע מותרות כעת בטענות lookbehind |
|
מספר קבוצות הלכידה בביטויים רגולריים אינו מוגבל עוד ל-100. |
|
הפונקציות sub() ו-subn() מחליפות כעת קבוצות שלא הותאמו במחרוזות ריקות במקום לזרוק חריגה. |
|
לחריגות re.error יש תכונות חדשות, msg, pattern, pos, lineno ו-colno, המספקות מידע הקשר טוב יותר על השגיאה |
|
פונקציות עם פסקי זמן (timeouts) משתמשות כעת בשעון מונוטוני במקום בשעון מערכת. |
|
מתודה חדשה socket.sendfile() מאפשרת שליחת קובץ דרך שקע באמצעות הפונקציה עתירת הביצועים os.sendfile() ב-UNIX, מה שגורם להעלאות מהירות פי 2 עד 3 מאשר בעת שימוש ב-socket.send() הרגילה |
|
המתודה socket.sendall() אינה מאפסת עוד את פסק הזמן של השקע בכל פעם שביטים מתקבלים או נשלחים. פסק הזמן של השקע הוא כעת משך הזמן הכולל המרבי לשליחת כל הנתונים. |
|
ארגומנט ה-backlog של המתודה socket.listen() הוא כעת אופציונלי. כברירת מחדל הוא מוגדר ל-SOMAXCONN או ל-128, הקטן מביניהם. |
מלא |
תמיכה ב-Memory BIO |
|
תמיכה במשא ומתן על פרוטוקול שכבת היישום (Application-Layer Protocol Negotiation) |
|
ישנה מתודה חדשה SSLSocket.version() לתשאול גרסת הפרוטוקול הממשית הנמצאת בשימוש. |
|
מחלקת SSLSocket מממשת כעת מתודה SSLSocket.sendfile(). |
|
המתודה SSLSocket.send() זורקת כעת את החריגה ssl.SSLWantReadError או ssl.SSLWantWriteError בשקע לא-חוסם אם הפעולה הייתה חוסמת. בעבר, היא הייתה מחזירה 0. |
|
הפונקציה cert_time_to_seconds() מפרשת כעת את זמן הקלט כ-UTC ולא כזמן מקומי, בהתאם ל-RFC 5280. בנוסף, ערך ההחזרה הוא תמיד int. |
|
מתודות חדשות SSLObject.shared_ciphers() ו-SSLSocket.shared_ciphers() מחזירות את רשימת הצפנים שנשלחה על ידי הלקוח במהלך לחיצת היד (handshake). |
|
המתודות SSLSocket.do_handshake(), SSLSocket.read(), SSLSocket.shutdown() ו-SSLSocket.write() של מחלקת SSLSocket אינן מאפסות עוד את פסק הזמן של השקע בכל פעם שביטים מתקבלים או נשלחים. |
|
הפונקציה match_hostname() תומכת כעת בהתאמת כתובות IP. |
|
פונקציה חדשה set_coroutine_wrapper() מאפשרת הגדרת וו (hook) גלובלי שייקרא בכל פעם שאובייקט קורוטינה נוצר על ידי פונקציית async def. ניתן להשתמש ב-get_coroutine_wrapper() התואמת כדי לקבל את העוטף המוגדר כעת. |
|
פונקציה חדשה is_finalizing() יכולה לשמש לבדיקה האם מפרש Python נמצא בתהליך כיבוי. |
|
הפונקציה monotonic() זמינה כעת תמיד |
|
הערות