1.2. Características

Las características del lenguaje de programación Python se resumen a continuación:

1.2.1. Fuertemente tipado

El fuertemente tipado significa que el tipo de valor no cambia repentinamente. Un string que contiene solo dígitos no se convierte mágicamente en un número. Cada cambio de tipo requiere una conversión explícita. A continuación un ejemplo de este concepto:

# varible "valor1" es integer, varible "valor2" es string
valor1, valor2 = 2, "5"
# el metodo int() es para convertir a integer
total = valor1 + int(valor2)
# el metodo str() es para convertir a string
print "El total es: " + str(total)

1.2.2. Tipado dinámico

El tipado dinámico significa que los objetos en tiempo de ejecución (valores) tienen un tipo, a diferencia del tipado estático donde las variables tienen un tipo. A continuación un ejemplo de este concepto:

# "variable" guarda un valor integer
variable = 11
print variable, type(variable)
# "variable" guarda un valor string
variable = "activo"
print (variable), type(variable)

1.2.3. Multiplataforma

Python es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre varios sistema operativos, eso quiere decir, soporta las siguientes plataformas para su ejecución:

  • Versiones Python para Microsoft Windows (y DOS) (arquitectura x86/x86-64 en presentación de ejecutable, archivo Zip, instalador basado en la Web).

    Truco

    Para mayor información consulte la sección Instalando Python en Windows.

  • Versiones Python para Mac OSX (Macintosh) (arquitectura 32bit/64bit en presentación de instalador ejecutable).

    Truco

    Para mayor información consulte la sección Instalando Python en una Mac.

  • Versiones Python en código fuente (archivo tarball del código fuente comprimido con XZ y con Gz). Para las mayoría de los sistemas Linux/UNIX, usted debe descargar y compilar el código fuente.

    Truco

    Para mayor información consulte la sección Instalando Python en un Linux.

  • Versiones de Implementaciones Alternativas Python, la versión “tradicional” de Python (tiene nombre código CPython). Existen un número de implementaciones alternativas que están disponibles a continuación:

    • IronPython, Python ejecutando en .NET.
    • Jython, Python ejecutando en el Java Virtual Machine.
    • PyPy, Una rápida implementación de python con un compilador JIT.
    • Stackless Python, Una rama del desarrollo del CPython que soporta microthreads.
    • MicroPython, Python ejecutando en micro controladores.
  • Versiones de Python en otras plataformas, la versión “tradicional” de Python (tiene nombre código CPython), mas esta versión ha sido migrada a un número plataformas especializadas y/o antiguas, a continuación se destacan algunas de ellas.

    • Pythonista, Python para iOS, ofrece un completo entorno de desarrollo para escribir scripts Python en su iPad o iPhone.
    • ActivePython, Python para Solaris, Usted puede comprarlo (versiones comerciales y comunitarias, incluidos los módulos de computación científica, no de código abierto), o compilar desde una fuente si tiene un compilador de C. Los paquetes UNIX tienen una variedad de versiones de Python para una variedad de versiones de Solaris. Estos utilizan el estándar Sun pkgadd.

    Nota

    Tenga en cuenta que estos migraciones a menudo están muy por detrás de la última versión de Python.

1.2.4. Filosofía “Incluye baterías”

  • Python ha mantenido durante mucho tiempo esta filosofía de “baterías incluidas”:

    “Tener una biblioteca estándar rica y versátil que está disponible de inmediato. Sin que el usuario descargue paquetes separados.”

  • Esto le da al lenguaje una ventaja en muchos proyectos.

  • Las “baterías incluidas” están en la librería estándar Python.

1.2.5. Zen de Python

Es una colección de 20 principios de software que influyen en el diseño del Lenguaje de Programación Python, de los cuales 19 fueron escritos por Tim Peters en junio de 1999. El texto es distribuido como dominio público.

El Zen de Python está escrito como la entrada informativa número 20 de las propuestas de mejoras de Python (Python Enhancement Proposals - PEP), y se puede encontrar en el sitio oficial de Python.

Los principios están listados a continuación:

  • Bello es mejor que feo.
  • Explícito es mejor que implícito.
  • Simple es mejor que complejo.
  • Complejo es mejor que complicado.
  • Plano es mejor que anidado.
  • Disperso es mejor que denso.
  • La legibilidad cuenta.
  • Los casos especiales no son tan especiales como para quebrantar las reglas.
  • Lo práctico gana a lo puro.
  • Los errores nunca deberían dejarse pasar silenciosamente.
  • A menos que hayan sido silenciados explícitamente.
  • Frente a la ambigüedad, rechaza la tentación de adivinar.
  • Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo.
  • Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés.
  • Ahora es mejor que nunca.
  • Aunque nunca es a menudo mejor que ya mismo.
  • Si la implementación es difícil de explicar, es una mala idea.
  • Si la implementación es fácil de explicar, puede que sea una buena idea.
  • Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!

También se incluye como un huevo de pascua, el cual se puede encontrar, desde el intérprete de Python, ingresar la siguiente sentencia:

>>> import this