Skip to main content

Primeros Pasos

Usando el intérprete python

Para enviar una instrucción (o comando) a Python, usa -c

python -c "1 + 1"

En el comando anterior, Python recibe la expresión 1 + 1, la interpreta, ejecuta la operación matemática de suma, pero no muestra ninguna salida. Para obtener la respuesta en pantalla necesitamos usar la función print

python -c "print(1 + 1)"
2

Otra forma de comunicarse con Python es mediante la ejecución de módulos con -m

python -m site

-m nombre_del_modulo ejecuta un módulo que esté instalado y habilitado para ejecución directa, algunos ejemplos json, http.server, pip, site

Lo primero que debemos entender es que cuando escribimos solo el comando python, entrará en modo consola y todo lo que escribas ya será interpretado. En el comando a continuación, solo hice nuestro Hello World estándar.

❯ python
Python 3.11.3 (main, Apr 5 2023, 15:52:25) [GCC 12.2.1 20230201] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('Hello DevOps')
Hello DevOps
>>>

Podríamos escribir en la consola cualquier cosa que Python comprenda y ya sería interpretado.

❯ python
Python 3.11.3 (main, Apr 5 2023, 15:52:25) [GCC 12.2.1 20230201] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 4+5*3/7
6.142857142857142
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>>

Otra forma es ejecutar después del comando el archivo que contiene el código que será interpretado. Consulta el archivo hello-world.py y ejecútalo con el intérprete Python.

python ./examples/hello-world.py
Hello DevOps

En Python es posible agregar partes del código que serán ignoradas (comentarios en el código) por el intérprete, estas líneas son útiles para agregar comentarios, recordatorios y metadatos del programa.

Ejemplos

# Había una vez un devops

print("Hello") # Que quería aprender python

"""
este es un bloque de comentario
de múltiples líneas
¡bueno para escribir texto!
"""

En entornos Linux es muy importante definir el comentario especial Shebang, en él especificamos qué intérprete se usará para ejecutar el programa.

#!/usr/bin/env python3

print("Hello, World!")

La primera línea informa al terminal que ese programa se ejecuta con Python3 del env en ejecución, de esta forma es posible omitir el intérprete y ejecutar el script directamente por su nombre.

# primero damos permiso de ejecución al script
chmod +x hello.py

Ahora podemos ejecutar de 2 formas

# especificando el intérprete en la línea de comandos
python3 hello.py
# usando el intérprete especificado en la línea `#!/usr/bin/env python`
./hello.py

La ventaja de la segunda forma es que podemos cambiar la extensión de .py a .exe por ejemplo, o incluso podemos eliminar la extensión y ejecutar ./hello

Dunder

Y además del comentario de documentación, llamado DocString aquellos que escribes para explicar algo, también es común la inclusión de variables de metadatos que comienzan y terminan con 2 guiones bajos __ la palabra que usamos para designar estas variables es Dunder, por lo tanto, Dunder version se refiere a __version__.

Preparando un IDE

Solo el terminal es necesario para desarrollar en Python, pero tener un programa que nos ayude durante la creación de código aumentará nuestra productividad.

Existen varios IDE (Integrated Development Environment), pero mi favorito es VScode. La ventaja de su uso es el enorme conjunto de plugins que extienden sus funcionalidades para trabajar con diversos lenguajes, herramientas, etc.

En el caso de Python, instala esta extensión Python. vscode

Esta extensión instalará otras extensiones complementarias como pylance y Jupyter.

Instala también la extensión Pylint. Esta extensión te ayudará a aprender a formatear el código y usar las buenas prácticas de programación en Python.

Las ventajas de usar un entorno preparado son:

  • Codificar más rápido, ya que tiene un sistema de edición de texto más avanzado, con resaltado de sintaxis, autocompletado, formateo automático y corrección.
  • Depurar el código para buscar errores es más fácil.
  • Gestión del proyecto incluyendo herramientas que facilitan el versionamiento del código como Git.
  • Integración con otras herramientas de terceros a través de extensiones.
  • Terminal integrado.
  • Flujo de trabajo simplificado combinando varias herramientas en un solo lugar.
  • Etc.

Y todo esto te hará más productivo