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() זמינה כעת תמיד | |
הערות