Pendiente de eliminación en versiones futuras¶
Las siguientes APIs serán eliminadas en el futuro, aunque no hay fecha de planificación exacta para ello.
argparse: Anidar grupos de argumentos y anidar grupos mutuamente excluyentes queda deprecado.-
bool(NotImplemented).Generadores: las firmas
throw(type, exc, tb)yathrow(type, exc, tb)están obsoletas: utilicethrow(exc)yathrow(exc)en su lugar, la firma de argumento único.Actualmente Python acepta literales numéricos seguidos inmediatamente de palabras clave, por ejemplo,
0in x,1or x,0if 1else 2. Permite expresiones confusas y ambiguas como[0x1for x in y](que se puede interpretar como[0x1 for x in y]o[0x1f or x in y]). Se genera una advertencia de sintaxis si el literal numérico va seguido inmediatamente de una de las palabras claveand,else,for,if,in,isyor. En una versión futura, se cambiará a un error de sintaxis. (gh-87999)Compatibilidad con los métodos
__index__()e__int__()que retornan un tipo que no es int: estos métodos serán necesarios para retornar una instancia de una subclase estricta deint.Compatibilidad con el método
__float__()que retorna una subclase estricta defloat: será necesario que estos métodos retornen una instancia defloat.Compatibilidad con el método
__complex__()que retorna una subclase estricta decomplex: será necesario que estos métodos retornen una instancia decomplex.Delegación del método
int()al__trunc__().Ahora está obsoleto el paso de un número complejo como argumento real o imag en el constructor
complex(); solo debe pasarse como un único argumento posicional. (Contribución de Serhiy Storchaka en gh-109218.)
calendar: Las constantescalendar.Januaryycalendar.Februaryhan quedado obsoletas y han sido reemplazadas porcalendar.JANUARYycalendar.FEBRUARY. (Contribución de Prince Roshan en gh-103636.)codeobject.co_lnotab: use el métodocodeobject.co_lines()en su lugar.-
utcnow(): usedatetime.datetime.now(tz=datetime.UTC).utcfromtimestamp(): usedatetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC).
gettext: El valor plural tiene que ser un entero.-
El parámetro debug_override de
cache_from_source()queda obsoleto: use el parámetro optimization en su lugar.
-
Interfaz de tupla
EntryPoints.Noneimplícito en valores retornados.
logging: el métodowarn()ha quedado obsoleto desde Python 3.3, usewarning()en su lugar.mailbox: El uso del modo de entrada y texto StringIO está obsoleto, use BytesIO y el modo binario en su lugar.os: Llamando aos.register_at_fork()en procesos multi-hilos.pydoc.ErrorDuringImport: El valor de tupla para el parámetro exc_info queda obsoleto, use una excepción en su lugar.re: Ahora se aplican reglas más estrictas para las referencias numéricas de grupos y los nombres de grupos en expresiones regulares. Ahora solo se aceptan secuencias de dígitos ASCII como referencia numérica. El nombre de grupo en patrones de bytes y cadenas de reemplazo ahora solo puede contener letras y dígitos ASCII y guiones bajos. (Contribución de Serhiy Storchaka en gh-91760.)Módulos
sre_compile,sre_constantsysre_parse.shutil: el parámetro onerror dermtree()queda obsoleto en Python 3.12; use el parámetro onexc en su lugar.Opciones y protocolos de
ssl:ssl.SSLContextsin argumento de protocolo queda obsoleto.ssl.SSLContext:set_npn_protocols()yselected_npn_protocol()quedan obsoletas: use ALPN en su lugar.Opciones
ssl.OP_NO_SSL*Opciones
ssl.OP_NO_TLS*ssl.PROTOCOL_SSLv3ssl.PROTOCOL_TLSssl.PROTOCOL_TLSv1ssl.PROTOCOL_TLSv1_1ssl.PROTOCOL_TLSv1_2ssl.TLSVersion.SSLv3ssl.TLSVersion.TLSv1ssl.TLSVersion.TLSv1_1
Métodos de
threading:threading.Condition.notifyAll(): usenotify_all().threading.Event.isSet(): useis_set().threading.Thread.isDaemon(),threading.Thread.setDaemon(): use el atributothreading.Thread.daemon.threading.Thread.getName(),threading.Thread.setName(): use el atributothreading.Thread.name.threading.currentThread(): usethreading.current_thread().threading.activeCount(): usethreading.active_count().
unittest.IsolatedAsyncioTestCase: queda deprecado retornar un valor que no seaNoneen un caso de prueba.Funciones deprecadas de
urllib.parse: useurlparse()en su lugarsplitattr()splithost()splitnport()splitpasswd()splitport()splitquery()splittag()splittype()splituser()splitvalue()to_bytes()
urllib.request: los estilosURLopeneryFancyURLopenerpara invocar solicitudes quedan obsoletos. Use las nuevas funciones y métodosurlopen().wsgiref:SimpleHandler.stdout.write()no debería hacer escrituras parciales.xml.etree.ElementTree: La prueba del valor de verdad de unElementestá obsoleta. En una versión futura, siempre retornaráTrue. En su lugar, es preferible realizar pruebas explícitaslen(elem)oelem is not None.zipimport.zipimporter.load_module()queda obsoleto: useexec_module()en su lugar.