در انتظار حذف در پایتون 3.17¶
-
فراخوانیهای
strptime()که از یک رشتهی قالببندی حاوی%e(روز ماه) بدون سال استفاده میکنند. این ویژگی از نسخهی ۳.۱۵ پایتون منسوخ شده است. (مشارکتشده توسط Stan Ulbrych در gh-70647.)
-
collections.abc.ByteStringقرار است در Python 3.17 حذف شود.برای آزمودن اینکه آیا
objپروتکل بافر را در زمان اجرا پیادهسازی میکند، ازisinstance(obj, collections.abc.Buffer)استفاده کنید. برای استفاده در حاشیهنویسیهای نوع، یا ازBufferاستفاده کنید یا از یک اجتماع (union) که بهطور صریح انواعی را که کد شما از آنها پشتیبانی میکند مشخص میکند (مثلاًbytes | bytearray | memoryview).ByteStringدر اصل قرار بود کلاسی انتزاعی باشد که بهعنوان ابرنوع (supertype) برای هر دوbytesوbytearrayعمل کند. با این حال، از آنجا که این کلاس پایه انتزاعی هرگز هیچ متدی نداشت، دانستن اینکه شیءای نمونهای ازByteStringاست، هرگز در واقع هیچ چیز مفیدی دربارهی آن شیء به شما نمیگفت. سایر نوعهای بافر رایج مانندmemoryviewنیز هرگز بهعنوان زیرنوعهایی ازByteStringدر نظر گرفته نمیشدند (نه در زمان اجرا و نه توسط بررسیگرهای نوع ایستا).برای جزئیات بیشتر به PEP 688 مراجعه کنید. (مشارکتشده توسط شانتانو جین در gh-91896.)
-
ارسال نامهای کدگذاری non-ascii به
encodings.normalize_encoding()منسوخ شده است و طبق برنامهریزی در نسخهی ۳.۱۷ پایتون حذف خواهد شد. (مشارکتشده توسط Stan Ulbrych در gh-136702.)
-
ماژول
profileمنسوخ شده است و در نسخهی ۳.۱۷ پایتون حذف خواهد شد. بهجای آن ازprofiling.tracingاستفاده کنید که یک API سازگار فراهم میکند. برای جزئیات بیشتر PEP 799 را ببینید. (مشارکتشده توسط Pablo Galindo و László Kiss Kollár در gh-138122.)
-
کلاس
webbrowser.MacOSXOSAScriptبه نفعwebbrowser.MacOSمنسوخ شده است. (gh-137586)
-
پیش از پایتون 3.14، یونیونهای سبک قدیمی (old-style unions) با استفاده از کلاس خصوصی
typing._UnionGenericAliasپیادهسازی میشدند. این کلاس دیگر برای پیادهسازی مورد نیاز نیست، اما برای سازگاری با نسخههای قبلی حفظ شده است و حذف آن برای پایتون 3.17 برنامهریزی شده است. کاربران باید بهجای تکیه بر جزئیات پیادهسازی خصوصی، از ابزارهای کمکی مستند دروننگری مانندtyping.get_origin()وtyping.get_args()استفاده کنند.typing.ByteStringکه از پایتون 3.9 منسوخ شده است، برای حذف در پایتون 3.17 برنامهریزی شده است.برای آزمودن اینکه آیا
objپروتکل بافر را در زمان اجرا پیادهسازی میکند، ازisinstance(obj, collections.abc.Buffer)استفاده کنید. برای استفاده در حاشیهنویسیهای نوع، یا ازBufferاستفاده کنید یا از یک اجتماع (union) که بهطور صریح انواعی را که کد شما از آنها پشتیبانی میکند مشخص میکند (مثلاًbytes | bytearray | memoryview).ByteStringدر اصل قرار بود کلاسی انتزاعی باشد که بهعنوان ابرنوع (supertype) برای هر دوbytesوbytearrayعمل کند. با این حال، از آنجا که این کلاس پایه انتزاعی هرگز هیچ متدی نداشت، دانستن اینکه شیءای نمونهای ازByteStringاست، هرگز در واقع هیچ چیز مفیدی دربارهی آن شیء به شما نمیگفت. سایر نوعهای بافر رایج مانندmemoryviewنیز هرگز بهعنوان زیرنوعهایی ازByteStringدر نظر گرفته نمیشدند (نه در زمان اجرا و نه توسط بررسیگرهای نوع ایستا).برای جزئیات بیشتر به PEP 688 مراجعه کنید. (مشارکتشده توسط شانتانو جین در gh-91896.)
-
متدهای
tkinter.Variableیعنیtrace_variable()،trace()(که نام مستعاری برایtrace_variable()است)،trace_vdelete()وtrace_vinfo()که از نسخهی ۳.۱۴ پایتون منسوخ شدهاند، طبق برنامهریزی در نسخهی ۳.۱۷ پایتون حذف خواهند شد. بهجای آنها ازtrace_add()،trace_remove()وtrace_info()استفاده کنید. (مشارکتشده توسط Serhiy Storchaka در gh-120220.)