Python es similar a un lenguaje de programación como Ruby, que proporciona una sintaxis sencilla que permite a los desarrolladores constituyó rápidamente aplicaciones y sitios web sin tener que escribir mucho código para hacerlo.
El lenguaje soporta bien sabido funcional, programación orientada a objetos, y MVC paradigmas de codificación, pero su salto a la fama se produjo después de que Google implementó en muchos de sus productos principales.
Python es en la actualidad uno de los más respetados y usados lenguajes de programación alrededor, siendo fácil de trabajar gracias a la gran cantidad de módulos de código abierto y la disponibilidad general de tutoriales, guías y cursos gratuitos en línea de codificación.
El compilador Python también es integrable y capaz de correr por todas partes, una característica que también contribuyó a su tasa de adopción de ancho.
En la sección Secuencias de comandos de Softoware, se puede encontrar el código fuente del lenguaje mismo.
¿Qué hay de nuevo en esta versión:
- Revierte opciones de generación parcial-estáticas y añade vcruntime140.dll de instalación de Windows.
- Correcciones MemoryError en test_strptime.
¿Qué hay de nuevo en la versión 3.5.0 / 2.7.10:
- Revierte opciones de generación parcial-estáticas y añade vcruntime140.dll de instalación de Windows.
- Correcciones MemoryError en test_strptime.
¿Qué hay de nuevo en la versión 3.4.3 / 2.7.9 / 3.5.0.a4:
- a nivel de módulo ya no se plantean TclError después de cerrar la ventana.
- Las advertencias son ahora planteados cuando se utilizan las referencias de grupo y referencias de grupos condicionales en las aserciones hacia atrás en las expresiones regulares.
- códecs de varios bytes con los controladores de error personalizado que ignora los errores que se consumen demasiada memoria y criados SystemError o MemoryError.
- io.FileIO () llama a flush () después de cerrar el archivo. flush () no fue llamado en estrecha () si closefd = False.
- insuficiencia pydoc fijo con archivos no ASCII cuando la salida estándar de codificación difiere de la codificación del sistema de archivos (por ejemplo, en Mac OS).
- Eliminar RC4 de lista de cifrado por defecto del módulo SSL.
- pydoc.synopsis fijo () y () en pydoc.apropos módulos con docstrings vacías.
- Fijo vulnerabilidad de ejecución de código arbitrario en el módulo dbm.dumb.
- mal manejo fijo de rutas absolutas de Windows con barras inclinadas pathlib.
- compresión fija en CLI archivo tar. Parche por wdv4758h.
- Corregido posible desbordamiento en el código de creación de Windows subproceso.
funciones de tortuga
¿Qué hay de nuevo en la versión 3.4.3 / 2.7.9 / 3.5.0.a1:
- a nivel de módulo ya no se plantean TclError después de cerrar la ventana.
- Las advertencias son ahora planteados cuando se utilizan las referencias de grupo y referencias de grupos condicionales en las aserciones hacia atrás en las expresiones regulares.
- códecs de varios bytes con los controladores de error personalizado que ignora los errores que se consumen demasiada memoria y criados SystemError o MemoryError.
- io.FileIO () llama a flush () después de cerrar el archivo. flush () no fue llamado en estrecha () si closefd = False.
- insuficiencia pydoc fijo con archivos no ASCII cuando la salida estándar de codificación difiere de la codificación del sistema de archivos (por ejemplo, en Mac OS).
- Eliminar RC4 de lista de cifrado por defecto del módulo SSL.
- pydoc.synopsis fijo () y () en pydoc.apropos módulos con docstrings vacías.
- Fijo vulnerabilidad de ejecución de código arbitrario en el módulo dbm.dumb.
- mal manejo fijo de rutas absolutas de Windows con barras inclinadas pathlib.
- compresión fija en CLI archivo tar. Parche por wdv4758h.
- Corregido posible desbordamiento en el código de creación de Windows subproceso.
funciones de tortuga
¿Qué hay de nuevo en la versión 3.4.2:
- macpath.join fijo () para el primer componente vacía. Parche de Oleg Oshmyan.
- TemporaryDirectory ya no intenta limpiar el doble cuando se utiliza en la sentencia with en el generador.
- Ahora directorios añadido al archivo ZIP tener los atributos de directorio correcto Unix y MS-DOS.
- ZipFile.close () ya no escribe ZIP64 registros del directorio central si allowZip64 es falso.
- Fijo salida de depuración del código de operación GROUPREF_EXISTS en el módulo de regreso. Eliminado los espacios finales en la depuración de salida.
- Excepción no controlada en el hilo ya no causa no controlada AttributeError cuando sys.stderr es Ninguno.
¿Qué hay de nuevo en la versión 3.4.1:
- ha corregido un fallo en la función estupenda orden interna () Cuando se invoca sin argumentos y sin el marco actual (por ejemplo: incrustado Python).
- lavado fijo de flujos estándares en el intérprete interactivo.
- En casos raros, cuando se ejecuta finalizadores en los objetos en la basura cíclico una mala referencia a un puntero podría ocurrir debido a un defecto sutil en la lógica de iteración interna.
¿Qué hay de nuevo en la versión 3.3.4:
- El nuevo módulo "faulthandler" que ayuda a diagnosticar accidentes
- El nuevo módulo "unittest.mock"
- El nuevo módulo "IP address"
- El atributo "sys.implementation"
- Un marco de políticas para el paquete de correo electrónico, con una política provisional que añade mucho soporte Unicode mejorado para analizar el encabezado del correo electrónico
- Una clase "collections.ChainMap" para vincular las asignaciones a una sola unidad
- Envolturas para muchas más funciones POSIX en la "OS" y los módulos de "señal", así como otras funciones útiles, tales como "sendfile ()"
- aleatorización Hash, introducido en las versiones anteriores de corrección de errores, que ahora se activa de forma predeterminada
¿Qué hay de nuevo en la versión 3.3.3:
- El nuevo módulo "faulthandler" que ayuda a diagnosticar accidentes
- El nuevo módulo "unittest.mock"
- El nuevo módulo "IP address"
- El atributo "sys.implementation"
- Un marco de políticas para el paquete de correo electrónico, con un provisional (véase 411 PEP) política que añade mucho soporte Unicode mejorado para analizar el encabezado del correo electrónico
- Una clase "collections.ChainMap" para vincular las asignaciones a una sola unidad
- Envolturas para muchas más funciones POSIX en la "OS" y los módulos de "señal", así como otras funciones útiles, tales como "sendfile ()"
- aleatorización Hash, introducido en las versiones anteriores de corrección de errores, que ahora se activa de forma predeterminada
- Una aplicación C del módulo "decimal", con hasta 120x aumento de velocidad para aplicaciones de decimales-pesada
- El sistema de importación (__import__) se basa en importlib por defecto
- El nuevo módulo "lzma" con el apoyo LZMA / XZ
¿Qué hay de nuevo en la versión 3.3.2:
- El nuevo módulo "faulthandler" que ayuda a diagnosticar accidentes
- El nuevo módulo "unittest.mock"
- El nuevo módulo "IP address"
- El atributo "sys.implementation"
- Un marco de políticas para el paquete de correo electrónico, con una política provisional que añade mucho soporte Unicode mejorado para analizar el encabezado del correo electrónico
- Una clase "collections.ChainMap" para vincular las asignaciones a una sola unidad
- Envolturas para muchas más funciones POSIX en la "OS" y los módulos de "señal", así como otras funciones útiles, tales como "sendfile ()"
- aleatorización Hash, introducido en las versiones anteriores de corrección de errores, que ahora se activa de forma predeterminada
¿Qué hay de nuevo en la versión 3.3.1:
- El nuevo módulo "faulthandler" que ayuda a diagnosticar accidentes
- El nuevo módulo "unittest.mock"
- El nuevo módulo "IP address"
- El atributo "sys.implementation"
- Un marco de políticas para el paquete de correo electrónico, con un provisional (véase 411 PEP) política que añade mucho soporte Unicode mejorado para analizar el encabezado del correo electrónico
- Una clase "collections.ChainMap" para vincular las asignaciones a una sola unidad
- Envolturas para muchas más funciones POSIX en la "OS" y los módulos de "señal", así como otras funciones útiles, tales como "sendfile ()"
- aleatorización Hash, introducido en las versiones anteriores de corrección de errores, que ahora se activa de forma predeterminada
¿Qué hay de nuevo en la versión 3.3.0 Beta 1:
- El nuevo módulo "faulthandler" que ayuda a diagnosticar accidentes
- El nuevo módulo "unittest.mock"
- El nuevo módulo "IP address"
- Una clase "collections.ChainMap" para vincular las asignaciones a una sola unidad
- Envolturas para muchas más funciones POSIX en la "OS" y los módulos de "señal", así como otras funciones útiles, tales como "sendfile ()"
- aleatorización Hash, introducido en las versiones anteriores de corrección de errores, que ahora se activa de forma predeterminada
¿Qué hay de nuevo en la versión 3.2.3 / 3.1.3 / 2.7.3 / 2.6.8:
- Estos incluyen varias correcciones de seguridad.
¿Qué hay de nuevo en la versión 3.3.0 alpha 1:
- Sintaxis para delegar a un Subgenerator (producto de)
- Representación de cadena flexible (eliminando la distinción entre "amplia" y "estrecho" Unicode construye)
- La supresión de Excepción Contexto
- La reelaboración de la jerarquía del sistema operativo y la excepción IO
- El nuevo módulo de "envase", basándose en los proyectos de "distribuir" y "distutils2" y "desaprobación" distutils
- El nuevo módulo "lzma" con el apoyo LZMA / XZ
- Nombre calificado para las clases y funciones
- literales Unicode explícitos para ayudar con portar
- El nuevo módulo "faulthandler" que ayuda a diagnosticar accidentes
- Envolturas para muchas más funciones POSIX en la "OS" y los módulos de "señal", así como otras funciones útiles, tales como "sendfile ()"
¿Qué hay de nuevo en la versión 3.2.2 RC1:
- Numerosas mejoras en el módulo unittest
- Soporte para directorios del repositorio .pyc
- Soporte para la versión etiquetada bibliotecas dinámicas
- Una nueva biblioteca de futuros para la programación concurrente
- Un ABI estable para los módulos de extensión
- configuración de registro basado en diccionarios
- Una implementación revisado GIL que reduce la contención
- Un paquete de correo electrónico ampliada que se encarga de bytes de mensajes
- Un módulo SSL muy mejorada con soporte para contextos y certificados SSL nombre de host a juego
- Un módulo sysconfig a la información de configuración de acceso
- Las adiciones al módulo de shutil, entre ellos el soporte de archivos de archivos
- Muchas mejoras para ConfigParser, entre ellos compatibilidad con el protocolo de mapeo
- Mejoras en pdb, el depurador de Python
- correcciones Innumerables respecto bytes / cuestiones de cuerda; entre ellos el apoyo total para un entorno de bytes (los nombres de archivo, las variables de entorno)
- Muchas de consistencia y comportamiento correcciones para las operaciones numéricas
¿Qué hay de nuevo en la versión 3.2.1:
- Numerosas mejoras en el módulo unittest
- Soporte para directorios del repositorio .pyc
- Soporte para la versión etiquetada bibliotecas dinámicas
- Una nueva biblioteca de futuros para la programación concurrente
- Un ABI estable para los módulos de extensión
- configuración de registro basado en diccionarios
- Una implementación revisado GIL que reduce la contención
- Un paquete de correo electrónico ampliada que se encarga de bytes de mensajes
- Un módulo SSL muy mejorada con soporte para contextos y certificados SSL de nombre de host a juego
- Un módulo sysconfig a la información de configuración de acceso
- Las adiciones al módulo de shutil, entre ellos el soporte de archivos de archivos
- Muchas mejoras para ConfigParser, entre ellos compatibilidad con el protocolo de mapeo
- Mejoras en pdb, el depurador de Python
- correcciones Innumerables respecto bytes / cuestiones de cuerda; entre ellos el apoyo total para un entorno de bytes (los nombres de archivo, las variables de entorno)
¿Qué hay de nuevo en la versión 3.2.1rc2:
- Numerosas mejoras en el módulo unittest
- PEP 3147, el apoyo a los directorios del repositorio .pyc
- PEP 3149, soporte para la versión etiquetada bibliotecas dinámicas
- PEP 3148, una nueva biblioteca de futuros para la programación concurrente
- PEP 384, un ABI estable para los módulos de extensión
- PEP 391, configuración de registro basado en diccionario
- Una implementación revisado GIL que reduce la contención
- Un paquete de correo electrónico ampliada que se encarga de bytes de mensajes
- Un módulo SSL muy mejorada con soporte para contextos y certificados SSL nombre de host a juego
- Un módulo sysconfig a la información de configuración de acceso
- Las adiciones al módulo de shutil, entre ellos el soporte de archivos de archivos
- Muchas mejoras para ConfigParser, entre ellos compatibilidad con el protocolo de mapeo
- Mejoras en pdb, el depurador de Python
- correcciones Innumerables respecto bytes / cuestiones de cuerda; entre ellos el apoyo total para un entorno de bytes (los nombres de archivo, las variables de entorno)
- Muchas de consistencia y comportamiento correcciones para las operaciones numéricas
¿Qué hay de nuevo en la versión 2.7.2:
- Un tipo de diccionario ordenada.
- Las nuevas características unittest incluyendo la omisión de prueba, nuevos métodos de aserción, y el descubrimiento de prueba.
- Un módulo IO mucho más rápido.
- La numeración automática de campos en el método str.format ().
- mejoras flotador repr portado desde 3.x.
- apoyo del azulejo por Tkinter.
- Un backport del objeto memoryview de 3.x.
- Definición de literales.
- Set y comprensiones del diccionario.
- diccionario vistas.
- Nueva sintaxis para anidado con las declaraciones.
- El módulo sysconfig.
¿Qué hay de nuevo en la versión 2.7.2.rc1:
- Un tipo de diccionario ordenada.
- Las nuevas características unittest incluyendo la omisión de prueba, nuevos métodos de aserción, y el descubrimiento de prueba.
- Un módulo io mucho más rápido.
- La numeración automática de campos en el método str.format ().
- mejoras flotador repr portado desde 3.x.
- apoyo del azulejo por Tkinter.
- Un backport del objeto memoryview de 3.x.
- Definición de literales.
- Set y comprensiones del diccionario.
- diccionario vistas.
- Nueva sintaxis para anidado con las declaraciones.
- El módulo sysconfig.
¿Qué hay de nuevo en la versión 3.2.1rc1:
- Una aplicación revisado GIL que reduce la contención.
- Un paquete de correo electrónico ampliada que se encarga de bytes de mensajes.
- Un módulo SSL muy mejorada con soporte para contextos SSL y el certificado coincidente nombre de host.
- Un módulo sysconfig acceder a la información de configuración.
- Las adiciones al módulo de shutil, entre ellos el soporte de archivos de archivado.
- Muchas mejoras para ConfigParser, entre ellos compatibilidad con el protocolo de asignación.
- Mejoras en pdb, el depurador de Python.
- correcciones Innumerables respecto bytes / cuestiones de cuerda; entre ellos soporte completo para un entorno de bytes (los nombres de archivo, las variables de entorno).
- Muchas de consistencia y comportamiento correcciones para las operaciones numéricas.
¿Qué hay de nuevo en la versión 3.2:
- Numerosas mejoras en el módulo unittest.
- PEP 3147, el apoyo a los directorios del repositorio .pyc.
- PEP 3149, soporte para la versión etiquetada bibliotecas dinámicas.
- PEP 3148, una nueva biblioteca de futuros para la programación concurrente.
- PEP 384, un ABI estable para los módulos de extensión.
- PEP 391, configuración de registro basado en diccionario.
- Una aplicación revisado GIL que reduce la contención.
- Un paquete de correo electrónico ampliada que se encarga de bytes de mensajes.
- Un módulo SSL muy mejorada con soporte para contextos SSL y el certificado coincidente nombre de host.
- Un módulo sysconfig acceder a la información de configuración.
- Las adiciones al módulo de shutil, entre ellos el soporte de archivos de archivado.
- Muchas mejoras para ConfigParser, entre ellos compatibilidad con el protocolo de asignación.
- Mejoras en pdb, el depurador de Python.
- correcciones Innumerables respecto bytes / cuestiones de cuerda; entre ellos soporte completo para un entorno de bytes (los nombres de archivo, las variables de entorno).
- Muchas de consistencia y comportamiento correcciones para las operaciones numéricas.
¿Qué hay de nuevo en la versión 3.2 RC3:
- Numerosas mejoras en el módulo unittest.
- PEP 3147, el apoyo a los directorios del repositorio .pyc.
- PEP 3149, soporte para la versión etiquetada bibliotecas dinámicas.
- PEP 3148, una nueva biblioteca de futuros para la programación concurrente.
- PEP 384, un ABI estable para los módulos de extensión.
- PEP 391, configuración de registro basado en diccionario.
- Una aplicación revisado GIL que reduce la contención.
- Un paquete de correo electrónico ampliada que se encarga de bytes de mensajes.
- Un módulo SSL muy mejorada con soporte para contextos SSL y el certificado coincidente nombre de host.
- Un módulo sysconfig acceder a la información de configuración.
- Las adiciones al módulo de shutil, entre ellos el soporte de archivos de archivado.
- Muchas mejoras para ConfigParser, entre ellos compatibilidad con el protocolo de asignación.
- Mejoras en pdb, el depurador de Python.
- correcciones Innumerables respecto bytes / cuestiones de cuerda; entre ellos soporte completo para un entorno de bytes (los nombres de archivo, las variables de entorno).
- Muchas de consistencia y comportamiento correcciones para las operaciones numéricas.
¿Qué hay de nuevo en la versión 3.2 RC1:
- Numerosas mejoras en el módulo unittest
- PEP 3147, el apoyo a los directorios del repositorio .pyc
- PEP 3149, soporte para la versión etiquetada bibliotecas dinámicas
- PEP 3148, una nueva biblioteca de futuros para la programación concurrente
- PEP 384, un ABI estable para los módulos de extensión
- PEP 391, configuración de registro basado en diccionario
- Una implementación revisado GIL que reduce la contención
- Un paquete de correo electrónico ampliada que se encarga de bytes de mensajes
- Un módulo SSL muy mejorada con soporte para contextos y certificados SSL nombre de host a juego
- Un módulo sysconfig a la información de configuración de acceso
- Las adiciones al módulo de shutil, entre ellos el soporte de archivos de archivos
- Muchas mejoras para ConfigParser, entre ellos compatibilidad con el protocolo de mapeo
- Mejoras en pdb, el depurador de Python
- correcciones Innumerables respecto bytes / cuestiones de cuerda; entre ellos el apoyo total para un entorno de bytes (los nombres de archivo, las variables de entorno)
- Muchas de consistencia y comportamiento correcciones para las operaciones numéricas
¿Qué hay de nuevo en la versión 3.2 beta 1:
- Numerosas mejoras en el módulo unittest.
- PEP 3147, el apoyo a los directorios del repositorio .pyc.
- PEP 3149, soporte para la versión etiquetada bibliotecas dinámicas.
- PEP 3148, una nueva biblioteca de futuros para la programación concurrente.
- PEP 384, un ABI estable para los módulos de extensión.
- PEP 391, configuración de registro basado en diccionario.
- Una aplicación revisado GIL que reduce la contención.
- Un paquete de correo electrónico ampliada que se encarga de bytes de mensajes.
- correcciones Innumerables respecto bytes / cuestiones de cuerda; entre ellos soporte completo para un entorno de bytes (los nombres de archivo, las variables de entorno).
- Muchas de consistencia y comportamiento correcciones para las operaciones numéricas.
- Un módulo sysconfig acceder a la información de configuración.
- Una implementación en Python puro del módulo de fecha y hora.
- Las adiciones al módulo de shutil, entre ellos el soporte de archivos de archivado.
- Mejoras en pdb, el depurador de Python.
¿Qué hay de nuevo en la versión 2.7.1:
- Un tipo de diccionario ordenada.
- Las nuevas características unittest incluyendo la omisión de prueba, nuevos métodos de aserción, y el descubrimiento de prueba.
- Un módulo io mucho más rápido.
- La numeración automática de campos en el método str.format ().
- mejoras flotador repr portado desde 3.x.
- apoyo del azulejo por Tkinter.
- Un backport del objeto memoryview de 3.x.
- Definición de literales.
- Set y comprensiones del diccionario.
- diccionario vistas.
- Nueva sintaxis para anidado con las declaraciones.
- El módulo sysconfig.
¿Qué hay de nuevo en la versión 3.1.3:
- Un tipo de diccionario ordenada.
- Varias optimizaciones al tipo int.
- Las nuevas características unittest incluyendo la omisión de la prueba y los nuevos métodos de aserción ..
- Un módulo io mucho más rápido.
- apoyo del azulejo por Tkinter.
- Una implementación de referencia de Python puro de la declaración de importación.
- Nueva sintaxis para anidado con las declaraciones.
¿Qué hay de nuevo en la versión 2.7.1 RC1:
- Un tipo de diccionario ordenada.
- Las nuevas características unittest incluyendo la omisión de prueba, nuevos métodos de aserción, y el descubrimiento de prueba.
- Un módulo io mucho más rápido.
- La numeración automática de campos en el método str.format ().
- mejoras flotador repr portado desde 3.x.
- apoyo del azulejo por Tkinter.
- Un backport del objeto memoryview de 3.x.
- Definición de literales.
- Set y comprensiones del diccionario.
- diccionario vistas.
- Nueva sintaxis para anidado con las declaraciones.
- El módulo sysconfig.
¿Qué hay de nuevo en la versión 3.1.3 RC1:
- Un tipo de diccionario ordenada.
- Varias optimizaciones al tipo int.
- Las nuevas características unittest incluyendo la omisión de la prueba y los nuevos métodos de aserción.
- Un módulo io mucho más rápido.
- apoyo del azulejo por Tkinter.
- Una implementación de referencia de Python puro de la declaración de importación.
- Nueva sintaxis para anidado con las declaraciones.
¿Qué hay de nuevo en la versión 3.1.2:
- round (x, n) devuelve ahora un entero si x es un número entero.
- La sintaxis de la sentencia with ahora permite que varios gestores de contexto en un estado único.
- Los string.maketrans () la función no se utiliza y se sustituye por nuevos métodos estáticos, bytes.maketrans (bytearray.maketrans) y ().
- Python ahora utiliza el algoritmo de David Gay para encontrar la representación de punto flotante más corto que no cambia su valor.
- añadida una clase collections.Counter para apoyar el conteo conveniente de artículos únicos en una secuencia o iterable.
- El módulo decimal ahora es compatible con los métodos para crear un objeto flotante decimal de un binario.
¿Qué hay de nuevo en la versión 2.6.5:
- cerraduras del módulo threading y variables de condición y también apoyan la lsquo; y con lsquo; comunicado.
- Se evalúa la expresión, y debería resultar en un objeto que admite el protocolo de gestión de contexto (es decir, tiene __enter __ () y __exit __ () métodos).
¿Qué hay de nuevo en la versión 3.1.1:
- dir () en un módulo sin inicializar causó un accidente.
- Fijo accidente de bytearray.translate () con parámetros no válidos.
- set.union () detenido entradas de procesamiento si una instancia de uno mismo ocurrió en la cadena de argumento.
- En las plataformas POSIX importar copias ya no es el bit de ejecución del archivo .py en el fichero de .pyc si está establecido.
- Como Python 3.0, el método __bool__ debe devolver un objeto bool, y no un int. Solucionar el mensaje de error correspondiente y la documentación.
- Incluir inttypes.h, así como stdint.h en pyport.h. Esto soluciona un fallo de construcción en HP-UX:. Int32_t y uint32_t se definen en inttypes.h en lugar de stdint.h en esa plataforma
- Se ha corregido un SystemError cuando se codifica con el latino 1-codec y el controlador de errores 'surrogateescape', una cadena que contiene sustitutos no apareados.
¿Qué hay de nuevo en la versión 2.6.3:
- Fijar os.popen * regresión de 2,5 con comandos como una secuencia se ejecuta a través de la cáscara. Parche de Jean-Paul Calderone y Jani Hakala. - Edición # 6990:. Fijar subclases threading.local que salen del estado de edad alrededor después de un ciclo de referencia GC, que podría ser reciclado por los nuevos locales
- Fijar un bucle infinito cuando se trata de decodificar un inválido UTF-32 fluye con un controlador de errores no elevar como "reemplazar" o "ignorar".
- Fijar potencial punto muerto cuando se mezclan hilos y tenedor ().
- No emiten DeprecationWarnings cuando se accede a un "mensaje" atributo en las excepciones que se establecen de forma explícita.
- Corrección de errores en bytearray.pop () devuelve enteros negativos.
- dir () en un módulo sin inicializar causó un accidente.
- Fijo accidente de bytearray.translate () con parámetros no válidos.
- set.union () detenido entradas de procesamiento si una instancia de uno mismo ocurrió en la cadena de argumento.
Comentarios que no se encuentran