در انتظار حذف در پایتون 3.17

  • datetime:

    • strptime() calls using a format string containing %e (day of month) without a year. This has been deprecated since Python 3.15. (Contributed by Stan Ulbrych in gh-70647.)

  • collections.abc:

    • 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.)

  • encodings:

  • profile:

    • The profile module is deprecated and will be removed in Python 3.17. Use profiling.tracing instead, which provides a compatible API. See PEP 799 for details. (Contributed by Pablo Galindo and László Kiss Kollár in gh-138122.)

  • webbrowser:

    • webbrowser.MacOSXOSAScript is deprecated in favour of webbrowser.MacOS. (gh-137586)

  • typing:

    • پیش از پایتون 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:

    • The tkinter.Variable methods trace_variable(), trace() (an alias of trace_variable()), trace_vdelete() and trace_vinfo(), deprecated since Python 3.14, are scheduled for removal in Python 3.17. Use trace_add(), trace_remove() and trace_info() instead. (Contributed by Serhiy Storchaka in gh-120220.)