در نسخه‌های آینده در انتظار حذف است

APIهای زیر در آینده حذف خواهند شد، هرچند در حال حاضر هیچ تاریخی برای حذف آن‌ها تعیین نشده است.

  • argparse:

    • تودرتو کردن گروه‌های آرگومان و تودرتو کردن گروه‌های متقابلاً انحصاری منسوخ شده‌اند.

    • گذراندن آرگومان کلیدواژه‌ای مستندنشده prefix_chars به add_argument_group() اکنون منسوخ شده است.

    • مبدل نوع argparse.FileType منسوخ شده است.

  • builtins:

    • تولیدگرها: امضای throw(type, exc, tb) و athrow(type, exc, tb) منسوخ شده است: به‌جای آن از throw(exc) و athrow(exc) استفاده کنید؛ یعنی امضای تک‌آرگومانی.

    • در حال حاضر پایتون مقادیر لفظی عددی را می‌پذیرد که بلافاصله پس از آن‌ها کلیدواژه‌ای می‌آید، برای مثال 0in x، 1or x، 0if 1else 2. این اجازه می‌دهد عبارت‌های گیج‌کننده و مبهمی مانند [0x1for x in y] وجود داشته باشند (که می‌توان آن را به صورت [0x1 for x in y] یا [0x1f or x in y] تفسیر کرد). اگر بلافاصله پس از مقدار لفظی عددی یکی از کلیدواژه‌های and، else، for، if، in، is و or قرار گیرد، هشدار سینتکس صادر می‌شود. در نسخه‌ای در آینده، این مورد به خطای سینتکس تغییر خواهد یافت. (gh-87999)

    • پشتیبانی از متدهای __index__() و __int__() که نوعی غیر از int برمی‌گردانند: این متدها ملزم خواهند شد که نمونه‌ای از یک زیرکلاس اکید int را برگردانند.

    • پشتیبانی از متد __float__() که زیرکلاس محضی از float را برمی‌گرداند: این متدها ملزم خواهند شد که نمونه‌ای از float را برگردانند.

    • پشتیبانی از متد __complex__() که زیرکلاس اکیدی از complex را برمی‌گرداند: این متدها ملزم خواهند شد که نمونه‌ای از complex را برگردانند.

    • ارسال یک عدد مختلط به‌عنوان آرگومان real یا imag در سازنده‌ی complex() اکنون منسوخ شده است؛ این عدد باید فقط به‌صورت یک آرگومان جایگاهی منفرد ارسال شود. (مشارکت‌شده توسط Serhiy Storchaka در gh-109218.)

  • calendar: ثابت‌های calendar.January و calendar.February منسوخ شده‌اند و توسط calendar.JANUARY و calendar.FEBRUARY جایگزین شده‌اند. (مشارکت‌شده توسط Prince Roshan در gh-103636.)

  • codecs: به جای codecs.open() از open() استفاده کنید. (gh-133038)

  • codeobject.co_lnotab: به‌جای آن از متد codeobject.co_lines() استفاده کنید.

  • datetime:

    • utcnow(): از datetime.datetime.now(tz=datetime.UTC) استفاده کنید.

    • utcfromtimestamp(): از datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC) استفاده کنید.

  • gettext: مقدار جمع باید یک عدد صحیح باشد.

  • importlib:

    • پارامتر debug_override در cache_from_source() منسوخ شده است: به جای آن از پارامتر optimization استفاده کنید.

  • importlib.metadata:

    • رابط تاپلی EntryPoints.

    • None ضمنی در مقادیر بازگشتی.

  • logging: متد warn() از پایتون 3.3 منسوخ شده است؛ به‌جای آن از warning() استفاده کنید.

  • mailbox: استفاده از ورودی StringIO و حالت متنی منسوخ شده است؛ به‌جای آن از BytesIO و حالت دودویی استفاده کنید.

  • os: فراخوانی os.register_at_fork() در فرایند چندنخی.

  • pydoc.ErrorDuringImport: مقدار تاپل برای پارامتر exc_info منسوخ شده است؛ از یک نمونه‌ی استثنا استفاده کنید.

  • re: اکنون قواعد سخت‌گیرانه‌تری برای ارجاع‌های عددی به گروه‌ها و نام گروه‌ها در عبارت‌های باقاعده اعمال می‌شود. اکنون فقط دنباله‌ای از ارقام اسکی به‌عنوان ارجاع عددی پذیرفته می‌شود. نام گروه در الگوهای بایتی و رشته‌های جایگزین اکنون فقط می‌تواند شامل حروف و ارقام اسکی و زیرخط باشد. (مشارکت‌شده توسط Serhiy Storchaka در gh-91760.)

  • ماژول‌های sre_compile، sre_constants و sre_parse.

  • shutil: پارامتر onerror تابع rmtree() در پایتون 3.12 منسوخ شده است؛ به جای آن از پارامتر onexc استفاده کنید.

  • گزینه‌ها و پروتکل‌های ssl:

    • ssl.SSLContext بدون آرگومان پروتکل منسوخ شده است.

    • ssl.SSLContext: set_npn_protocols() و selected_npn_protocol() منسوخ شده‌اند: به‌جای آن‌ها از ALPN استفاده کنید.

    • گزینه‌های ssl.OP_NO_SSL*

    • گزینه‌های ssl.OP_NO_TLS*

    • ssl.PROTOCOL_SSLv3

    • ssl.PROTOCOL_TLS

    • ssl.PROTOCOL_TLSv1

    • ssl.PROTOCOL_TLSv1_1

    • ssl.PROTOCOL_TLSv1_2

    • ssl.TLSVersion.SSLv3

    • ssl.TLSVersion.TLSv1

    • ssl.TLSVersion.TLSv1_1

  • متدهای threading:

  • typing.Text (gh-92332).

  • کلاس داخلی typing._UnionGenericAlias دیگر برای پیاده‌سازی typing.Union استفاده نمی‌شود. برای حفظ سازگاری با کاربرانی که از این کلاس خصوصی استفاده می‌کنند، یک شیم سازگاری (compatibility shim) حداقل تا پایتون 3.17 ارائه خواهد شد. (مشارکت‌شده توسط Jelle Zijlstra در gh-105499.)

  • unittest.IsolatedAsyncioTestCase: برگرداندن مقداری غیر از None از یک مورد آزمون منسوخ شده است.

  • توابع منسوخ urllib.parse: به‌جای آن‌ها urlparse()

    • splitattr()

    • splithost()

    • splitnport()

    • splitpasswd()

    • splitport()

    • splitquery()

    • splittag()

    • splittype()

    • splituser()

    • splitvalue()

    • to_bytes()

  • wsgiref: SimpleHandler.stdout.write() نباید نوشتن جزئی (partial write) انجام دهد.

  • xml.etree.ElementTree: آزمودن ارزش درستی یک Element منسوخ شده است. در یک نسخه‌ی آینده، این آزمون همیشه True بازخواهد گرداند. به جای آن، آزمون‌های صریح len(elem) یا elem is not None را ترجیح دهید.

  • sys._clear_type_cache() منسوخ شده است: به جای آن از sys._clear_internal_caches() استفاده کنید.