Curso de Python
Conceptos iniciales

Conceptos iniciales de Python

El modo interactivo

Cuando inicias el intérprete de Python sin ningún argumento, ingresas al llamado modo interactivo. Este modo permite a los programadores enviar comandos directamente al intérprete sin tener que crear un programa primero. El modo interactivo se usa a menudo para probar algo rápidamente. Sin embargo, no es adecuado para escribir programas reales. Sin embargo, nos gustaría comenzar aquí con el modo interactivo, ya que permite iniciarse en el lenguaje Python de forma rápida y sencilla.

El objetivo de esta lección es familiarizarte con algunos conceptos básicos que son necesarios para comprender los capítulos siguientes.

Ejecuta el siguiente comando en tu terminal para ingresar al modo interactivo de Python:

Terminal
python

o bien

Terminal
python3

Como saludo, el intérprete emite unas pocas líneas que ahora deberías tener frente a tí en una forma similar a la siguiente:

Terminal
Python 3.11.4 (main, Jul  5 2023, 08:54:11) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Junto al indicador (>>>), puedes ingresar cualquier código de Python.

En cuanto al funcionamiento del modo interactivo, cabe mencionar que cuenta con una función de historial. Esto significa que puedes utilizar las teclas de flecha para recuperar entradas antiguas y no es necesario volver a ingresarlas. También es posible editar las entradas seleccionadas a través del historial.

Empecemos, en la lección siguiente, introduciendo algunos tipos de datos básicos. Por el momento, nos limitaremos a números enteros, flotantes, cadenas de caracteres, listas y diccionarios. Hay ciertas reglas según las cuales debes escribir instancias de estos tipos de datos, por ejemplo, un valor numérico o una cadena de caracteres, para que el intérprete pueda reconocerlos. Tal notación se conoce como literal.

Salidas en pantalla

Aunque a menudo recurrimos al modo interactivo, nuestro objetivo es escribir programas Python reales lo más rápido posible. Es una característica especial del modo interactivo que el valor de una expresión ingresada se emite automáticamente. En un programa normal, por otro lado, las salidas de pantalla deben ser generadas por el programador explícitamente. Para generar el valor de una variable, Python usa la función print:

Python (Interactivo)
>>> print(1.2)
1.2

Ten en cuenta que mientras imprimes valores de salida, la salida automática del modo interactivo genera representaciones, es decir, predominantemente literales. Por ejemplo, la salida automática escribe el valor de una cadena entre comillas mientras que la función print no:

Python (Interactivo)
>>> "Hola Mundo"
'Hola Mundo'
>>> print("Hola Mundo")
Hola Mundo

Aquí también es posible utilizar un nombre de variable en lugar de un valor constante sin ningún problema:

Python (Interactivo)
>>> var = 9
>>> print(var)
9

Alternativamente, puedes imprimir el resultado de una expresión directamente:

Python (Interactivo)
>>> print(-3 * 4)
-12

El uso de print también permite generar múltiples variables o constantes en una línea. Para ello, los valores se separan por comas. Cada coma se reemplaza por un carácter de espacio en la salida:

Python (Interactivo)
>>> print(-3, 12, "Python rocks")
-3 12 Python rocks

Esto es especialmente útil si no sólo deseas generar valores individuales, sino también un breve texto explicativo sobre ellos. Puedes lograr algo como esto de la siguiente manera:

Python (Interactivo)
>>> var = 9
>>> print("El número mágico es:", var)
El número mágico es: 9

Finalmente, print imprime un avance de línea después de cada salida, por lo que las llamadas a print consecutivas dan como resultado múltiples líneas de salida.

Nota

En Python 2 las impresiones en pantalla se generan utilizando la palabra clave print en lugar de la función print utilizada actualmente en Python 3:

Python (Interactivo)
>>> print "Esto", "es", "Python", 2 
Esto es Python 2

En la mayoría de los casos, los paréntesis que faltan son la única diferencia.

Módulos

Una ventaja decisiva de Python, además del lenguaje de programación sencillo y flexible, es la gran cantidad de módulos incluidos, que en su totalidad forman la biblioteca estándar.

Dichos módulos a menudo sirven como una colección útil de funcionalidad adicional. Existe, por ejemplo, el módulo pprint (un print visualmente más bonito), que proporciona la función pprint. Esta función te permite generar instancias de tipos de datos complejos claramente formateados en la pantalla. Por lo tanto, es una alternativa a la función print integrada cuando solo se va a generar una única instancia. Antes de que puedas usar un módulo, debes incluirlo usando la palabra clave import:

Python (Interactivo)
>>> import pprint

Ahora las funciones y constantes disponibles en pprint se pueden utilizar en el programa siguiente. En este caso, llamamos a la función pprint.pprint para generar claramente un diccionario más extenso:

Python (Interactivo)
>>> d = {"Python es": ["impresionante", "brillante", "mega genial", "simple y emocionante"], "Python tiene": ["muchos módulos", "siempre el argumento correcto", "una salida de pantalla bien formateada"]}
>>> pprint.pprint(d)
{'Python es': ['impresionante',
               'brillante',
               'mega genial',
               'simple y emocionante'],
 'Python tiene': ['muchos módulos',
                  'siempre el argumento correcto',
                  'una salida de pantalla bien formateada']}

A modo de comparación, aquí está la salida sin formato usando la función print incorporada:

Python (Interactivo)
>>> print(d)
{'Python es': ['impresionante', 'brillante', 'mega genial', 'simple y emocionante'], 'Python tiene': ['muchos módulos', 'siempre el argumento correcto', 'una salida de pantalla bien formateada']}

Gran parte del curso también está dedicado a la biblioteca estándar, así como a módulos y bibliotecas de terceros que aumentan de manera útil el alcance del lenguaje Python.

Estructuras de control

Una estructura de control es una construcción para controlar el flujo del programa. Hay dos tipos de estructuras de control en Python: bucles y condicionales. Los bucles se utilizan para ejecutar un bloque de código varias veces. Los condicionales, por otro lado, vinculan un bloque de código a una condición. Python presenta dos subtipos de bucles y condicionales, que se describirán en las siguientes lecciones. Las estructuras de control pueden anidarse unas dentro de otras de cualquier forma. La profundidad de la sangría crece continuamente en el proceso.

La declaración pass

Durante el desarrollo de un programa, puede suceder que en un momento determinado una estructura de control se implemente sólo parcialmente. El programador crea un encabezado de declaración pero no agrega un cuerpo de declaración porque es posible que quiera ocuparse primero de otras cosas más importantes. Sin embargo, un encabezado de declaración suspendido en el aire sin un cuerpo correspondiente es un error de sintaxis.

Para ello, puedes utilizar la declaración pass, una declaración que no hace nada en absoluto. Se puede aplicar de la siguiente manera:

Python
if x == 1:
    pass
elif x == 2:
    print("x tiene el valor 2")

En este caso, sólo se encuentra pass en el cuerpo de la declaración if. Por tanto, si x tiene el valor 1, no sucederá nada.

El propósito de la declaración pass es evitar errores de sintaxis en versiones preliminares del programa. Los programas terminados generalmente no contienen declaraciones pass.