Python es un lenguaje de programación de propósito general, el cual se escribe dinámicamente, se interpreta, y se conoce por su fácil legibilidad con grandes principios de diseño.

freeCodeCamp tiene uno de los cursos más populares sobre Python. Es completamente gratuito (Sin publicidad). Tú puedes verlo en YouTube aquí.

¿Quiere saber más?

La web es un lugar muy grande, hay mucho más que explorar:

¿Para qué se utiliza Python?

Python puede utilizarse fácilmente para proyectos pequeños, grandes, en línea y fuera de línea. Las mejores opciones para utilizar Python son el desarrollo web, el scripting simple y el análisis de datos. A continuación se presentan algunos ejemplos de lo que Python te permitirá hacer:

Desarrollo web:

Tú puedes utilizar Python para crear aplicaciones web de muchos niveles de complejidad. Hay muchos frameworks web de Python excelentes, como Pyramid, Django y Flask, por nombrar algunos.

Análisis de datos:

Python es el principal lenguaje elegido por muchos científicos de datos. Python ha crecido en popularidad dentro del campo debido a la disponibilidad de muchas bibliotecas excelentes centradas en la ciencia de datos (de las cuales NumPy y Pandas son dos de las más conocidas) y la visualización de datos (como Matplotlib y Seaborn). Phyton realmente hizo una divertida contracción de datos de numerosas bibliotecas disponibles. Ipython con JupyterLab es otra forma de Python que mejora el uso de Python en el campo de la ciencia de datos.

Automatización:

Python es un lenguaje muy flexible que puede utilizarse para automatizar tareas aburridas o repetitivas. Los administradores de sistemas suelen utilizarlo escribiendo scripts que pueden ejecutarse fácilmente desde el terminal. Python también puede utilizarse para crear bots que automaticen algunas de nuestras tareas diarias.

Inteligencia Artificial:

Python también se utiliza ampliamente en el creciente campo de la Inteligencia Artificial (IA). Google seleccionó Python para ser uno de los primeros lenguajes de programación bien soportados para entrenar e interactuar con los modelos que usan Tensorflow.

Desarrollo de Aplicaciones Móviles

Se pueden crear aplicaciones y juegos para móviles con python utilizando Kivy, Pygame y PyQt.

Seguridad y Redes:

Python se utiliza para construir herramientas de red y herramientas de seguridad que son ampliamente utilizadas. La automatización remota de Python es la más segura, rápida y eficiente para la prueba de marcos en la nube. Por eso los desarrolladores profesionales usan Python para hacer los frameworks más seguros y para la programación de sockets.

Aprendizaje automático, aprendizaje profundo

Python es uno de los lenguajes más adecuados para el aprendizaje automático, el aprendizaje profundo y la analítica de datos, con una fortaleza en todos ellos.

Hay lenguajes especializados que se adaptan mejor a diversas funciones, como R y MATLAB, pero cuando se trata de campos de aplicación que se solapan, Python gana por goleada debido a su flexibilidad y rapidez en la creación de prototipos y a la disponibilidad de bibliotecas.

Desarrollo de Bots de Telegram

Tú puedes usar Python y algunas librerías de Python para desarrollar tus propios Bots de Telegram.

Recogida de Datos mediante Crawling y Scraping

Python también se puede utilizar para analizar los códigos fuente de las páginas y extraer sus datos. ¡El uso de algunos módulos de Python, como Scrapy y también (para algunas páginas que utilizan JavaScript) Selenium debería ser el truco!

Python se utiliza generalmente para

  • Desarrollo web y de Internet
  • Avance educativo
  • Estudios científicos/Informática
  • Desarrollo de escritorio
  • Computación numérica
  • Desarrollo de software
  • Desarrollo de aplicaciones empresariales
  • Aprendizaje automático
  • IOT (Internet de las cosas)
  • Desarrollo de videojuegos
  • Prototipos rápidos
  • Automatización del navegador
  • Análisis de datos
  • Extracción de datos de sitios web
  • Procesamiento de imágenes

Algunos artículos que cubren la usabilidad de Python

El índice oficial de paquetes para Python está aquí.

¿Debería utilizar Python 2 o Python 3?

Las dos versiones son similares. Si conoces una, pasar a escribir código en la otra es fácil.

  • Python 2.x no se mantendrá más allá de 2020.
  • 3.x está en desarrollo activo. Esto significa que todas las mejoras recientes de la biblioteca estándar, por ejemplo, sólo están disponibles por defecto en Python 3.x.
  • El ecosistema de Python ha acumulado una cantidad significativa de software de calidad a lo largo de los años. El inconveniente de romper la retrocompatibilidad en la 3.x es que parte de ese software (especialmente el interno de las empresas) todavía no funciona en la 3.x.

Instalación

La mayoría de los sistemas operativos basados en *nix vienen con Python instalado (normalmente Python 2, Python 3 en los más recientes). Reemplazar la instalación por defecto de Python en su sistema no es recomendable y puede causar problemas. Sin embargo, se pueden instalar con seguridad diferentes versiones de Python junto a la versión por defecto de su sistema. Ver Configuración y uso de Python.

Windows no viene con Python, pero el instalador y las instrucciones se pueden encontrar aquí.

Intérprete de Python

El intérprete de Python es lo que se utiliza para ejecutar los scripts de Python.

Si está disponible y en la ruta de búsqueda del shell de Unix, es posible iniciarlo escribiendo el comando python seguido del nombre del script. Esto invocará el intérprete y ejecutará el script.

hola_campistas.py

print('Hola Campistas!')
Código Fuente

Desde la terminal:

$ python hola_campistas.py
Hola Campistas!
Terminal

Cuando se instalan varias versiones de Python, es posible invocarlas por versión dependiendo de la configuración de la instalación. En el entorno personalizado de Cloud9 IDE, se pueden invocar como:

$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ python3.5 --version
Python 3.5.1
$ python3.6 --version
Python 3.6.2 
$ python3.7 --version
Python 3.7.1
Cloud9 IDE

Modo Interactivo del Intérprete de Python

El modo interactivo puede iniciarse invocando al intérprete de Python con la bandera -i o sin ningún argumento.

El modo interactivo tiene un indicador donde se pueden introducir y ejecutar los comandos de Python:

$ python3.5
Python 3.5.1 (default, Dec 18 2015, 00:00:00)
GCC 4.8.4 on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hola Campistas!")
Hola Campistas!!
>>> 1 + 2
3
>>> exit()
$
Pyhon Shell

El Zen de Python

Algunos de los principios que influyeron en el diseño de Python se incluyen como mensajes ocultos que pueden leerse utilizando el comando dentro del modo interactivo del intérprete de Python:

>>> import this
El Zen de Python, por Tim Peters

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.
Espaciado es mejor que denso.
La legibilidad es importante.
Los casos especiales no son lo suficientemente especiales como para romper las reglas.
Sin embargo la practicidad le gana a la pureza.
Los errores nunca deberían pasar silenciosamente.
A menos que se silencien explícitamente.
Frente a la ambigüedad, evitar la tentación de adivinar.
Debería haber una, y preferiblemente solo una, manera obvia de hacerlo.
A pesar de que esa manera no sea obvia a menos que seas Holandés.
Ahora es mejor que nunca.
A pesar de que nunca es muchas veces mejor que *ahora* 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 son una gran idea, ¡tengamos más de esos!
Python Shell

Ventajas y desventajas de Python

Ventajas

  1. Lenguaje interactivo con soporte de módulos para casi todas las funcionalidades.
  2. Código abierto: Así, tú puedes contribuir a la comunidad, las funciones que has desarrollado para su uso futuro y para ayudar a otros
  3. Hay un montón de buenos intérpretes y cuadernos disponibles para una mejor experiencia como el cuaderno jupyter.

Desventajas

  1. Al ser de código abierto, a lo largo de los años se han desarrollado muchas soluciones diferentes para las mismas funciones. Esto a veces crea un caos para que otros lean el código de otra persona.
  2. Es un lenguaje lento. Así que es un lenguaje muy malo para desarrollar algoritmos generales.

Documentación

Python está bien documentado. Estos documentos incluyen tutoriales, guías, referencias y meta información para el lenguaje.

Otra referencia importante son las propuestas de mejora de Python (PEP). En el PEP se incluye una guía de estilo para escribir código Python, PEP 8.

Depuración

Las sentencias de print en línea pueden utilizarse para una depuración sencilla:

... A menudo, la forma más rápida de depurar un programa es añadir unas cuantas sentencias de impresión al código fuente: el rápido ciclo de edición-prueba-depuración hace que este sencillo enfoque sea muy eficaz.
Resumen Ejecutivo

Python también incluye herramientas más potentes para la depuración, como:

Sólo hay que tener en cuenta que estos existen por ahora.

¡Hola, mundo!

Volviendo a la documentación, Nosotros podemos leer sobre la función print, una función incorporada a la Biblioteca Estándar de Python.

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
Python Docs

Las funciones incorporadas se enumeran por orden alfabético. El nombre va seguido de una lista entre paréntesis de parámetros formales con valores opcionales por defecto. Debajo hay una breve descripción de la función y se dan sus parámetros, y ocasionalmente hay un ejemplo.

La función print de Python 3 sustituye a la sentencia print de Python 2.

>>> print("Hola Mundo!")
Hola Mundo!
Python Shell

Se llama a una función cuando el nombre de la función va seguido de (). En el ejemplo de ¡Hola mundo! se llama a la función print con una cadena como argumento para el primer parámetro. Para el resto de los parámetros se utilizan los valores por defecto.

El argumento con el que llamamos a la función print es un objeto str o cadena, uno de los tipos incorporados de Python. También lo más importante de Python es que no tienes que especificar el tipo de datos mientras tu declaras una variable; el compilador de Python lo hará por sí mismo basándose en el tipo de valor asignado.

El parámetro de los objetos lleva como prefijo un * que indica que la función tomará un número arbitrario de argumentos para ese parámetro.

Traducido del artículo - The Best Python Tutorials