Skip links

Intérprete, expresiones y estructuras básicas

El intérprete de Python

Un intérprete es un programa que permite ejecutar código sin necesidad de compilar. Hay diferentes tipos de intérpretes para lenguajes de programación, pero nosotros no vamos a profundizar, y quedémonos en que un intérprete simplemente nos sirve para ejecutar lineas de código de manera cómoda, y sin necesidad de escribir un fichero de código explícitamente para ello.
Python viene con su intérprete de fábrica, y si has instalado Python desde consola como hemos descrito en el capítulo anterior, se te habrá añadido a tu entorno del sistema el comando python3, aunque con cualquier distribución de Python problablemente venga el intérprete por defecto también.
Cuando escribimos en el terminal el comando python3, nos aparecerán unas líneas similares a estas:

arazek@arazek:~$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type «help», «copyright», «credits» or «license» for more information.
>>>

La primera línea que nos devuelve nos muestra la versión de Python del intérprete. En nuestro caso, como estamos utilizando la versión Python3 que está disponible en los repositorios, es la 3.5.2. Las dos líneas siguientes es para información del intérprete y la ayuda interna que dispone.
La línea que empieza por «>>>» define nuestra entrada. Aquí podemos escribir líneas de código, y el intérprete automáticamente compilará y ejecutará la expresión. Vamos a introducir un poco las expresiones no lógicas disponibles en Python.
Por si acaso, para cerrar del intérprete de Python lo único que debemos hacer es escribir quit() y salir al terminar.

Creo que es importante para desenvolverse en el entorno de Python es coger un poco de intuición sobre como funciona el intérprete, así que vamos a soltar un poco los dedos utilizando el intérprete para calcular operaciones básicas.

Expresiones básicas en Python

Sumas y restas

Como ya hemos dicho, la mejor manera de empezar a toquetear el intérprete de Python es usarlo como una calculadora. Para ello, podemos escribir las expresiones que queramos, y Python las ejecutará al picar Intro. Aquí vienen unos ejemplos con el operador suma (+) y resta () :


>>> 2+2
4
>>> 2-2
0
>>> (2+2)-(2+2)
0
>>> 2+2-2+2-2+2
4

Como vemos, el intérprete ejecuta las expresiones que insertemos en la entrada estándar y muestra un resultado inmediatamente a continuación. Esto es debido a que el código se ejecuta línea a línea y de manera que nosotros vayamos escribiendo.

Multiplicaciones, divisiones y potencias

También se pueden realizar multiplicaciones (*), divisiones (/) y potencias (**):

>>> 2*2
4
>>> 2/2
1.0
>>> (2*2)/(2*2)
1.0
>>> 2*2/2*2/2*2
4.0
>>> 2**2
4
>>> 2**3
8
>>> 2**4
16
>>> 2**45
35184372088832

Aunque es obvio, las expresiones se ejecutan respetando el orden de los paréntesis (()) a la hora de calcular el valor de una expresión:


>>> ((2+2)+1)/5
1.0
>>> (2+2)+1/5
4.2
>>> 2**(2**2)
16

La regla del paréntesis no solo es útil en las expresiones matemáticas, sinó que también se respeta en las instrucciones con otros tipos de datos. Esta parte es importante a la hora de definir el flujo de ejecución de una instrucción, y conviene practicarla bastante.

Hay que tener en cuenta que cuando realizamos la division entre dos enteros, el resultado es un real. En resumidas cuentas, un número real (como 4.2) no se trata de la misma manera que un entero en programación, y este real recibe el nombre de float. Trataremos qué tipos de datos podemos tratar en Python en las siguientes secciones.

Cadenas de texto

Sin embargo, además operar sobre dígitos y números, podemos operar sobre cadenas de texto. Algunos de los operadores están sobrecargados, y se pueden utilizar para cadenas de texto, como son el operador de suma y el operador de multiplicación. Las cadenas de texto en Python se identifican porque suelen ir dentro de los carácteres « o :


>>> "clever" + "py"
'cleverpy'
>>> 'clever' + 'py'
'cleverpy'
>>> "clever" + 'py'
'cleverpy'
>>> ('clever' + 'py')*2
'cleverpycleverpy'
>>> ('clever' + 'py')*(2**3)
'cleverpycleverpycleverpycleverpycleverpycleverpycleverpycleverpy'

Las cadenas de texto (o strings) son un tipo de datos formado por cadenas de carácteres. Estas strings pueden ser tratadas de diferentes maneras, pero probablemente te será útil empezar a imaginarte que son listas de letras o símbolos, como ya describiremos más adelante.

Hemos comprobado que hay una gran variedad de operaciones podemos realizar con el intérprete de Python. Sin embargo, no siempre vamos a definir a mano el valor de los operandos de las expresiones en nuestro código. En el siguiente apartado, vamos a definir las variables.

Estructuras básicas

Variables

Las variables son registros dónde guardamos información que necesitemos. Por ejemplo, podemos guardarnos números o strings sin tener que definirlas a mano cada vez que las usemos, y cambiar la información que almacenan. Para asignar información a una variable, simplemente definimos el nombre de la variable y usamos el operador de asignación =.

Las variables y sus asignaciones son un poco restringidas, aunque en Python sean un poco menos estrictas a la hora de realizar una asignación. Un concepto que debemos entender es que las variables en nuestro código tienen un identificador único, y este se define a priori cuando creamos una variable. Este identificador es una cadena de texto (sin ni «) y no puede empezar por un número, ni puede contener carácteres especiales (como ()@.,'»\, etcétera). Si seguimos estas reglas, asignar un valor a una variable es relativamente simple:


>>> var1 = 2
>>> var2 = 3
>>> var3 = var1 + var2
>>> print(var3)
5

Como vemos en el código, es bastante sencillo entender que está sucediendo en este trozo de código. La variable var1 toma valor 2, var2 toma valor 3 y var3, que es el valor de var1 más el valor de var2, es 5.

Como nota, no se debe confundir la operación asignación con el signo de igualdad. Lo que realiza el operador de asignación es «dar» el valor que se sitúa a la derecha del operador al identificador que se situa a la izquierda. Cosas de este estilo van a dar errores en tu intérprete:


>>> 2 = asd
File "", line 1
SyntaxError: can't assign to literal
>>> "asdsdas" = var1
File "", line 1
SyntaxError: can't assign to literal
>>> 2 = var2
File "", line 1
SyntaxError: can't assign to literal
>>> 5 = var3
File "", line 1
SyntaxError: can't assign to literal

Las variables son muy potentes, y es que realmente podemos almacenar cualquier tipo de estructura de datos. Esto es una parte vital de la programación, ya que nos permite guardarnos al vuelo objetos de nuestro programa, y modificarlos a nuestro gusto mediante estructuras lógicas.

Por ahora, hemos terminado el capítulo de esta semana. Sin embargo, os recomiendo practicar con los opereadores de Python para ir cogiendo experiencia en el entorno, ya sea con problemas que se puedan encontrar por Internet, o con simples problemas de matemáticas (como reglas de tres).

En el próximo capítulo, nos acercaremos a estructuras lógicas y como definir funciones simples para realizar nuestros primeros fragmentos de código en Python.

Reader Interactions

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies