- Conocer el concepto de Variables y Constantes
- Conocer el concepto de Tipos de Datos
Una variable es un espacio de memoria donde guardamos un dato, ese espacio de memoria a la vez recibe un nombre y esto conforma la estructura de datos más simple que podemos encontrar.
Por otro lado existen ciertas normas a la hora de nombrar variables:
- El nombre no puede empezar con un número
Por ejemplo "mi_variable" sería correcto, pero "123mi_variable" sería erróneo - No se permite el uso de guiones del medio -
Por ejemplo "mi-variable" sería erróneo - No se permite el uso de espacios.
Por ejemplo "mi variable" sería erróneo - No usar nombres reservados para Python. Las palabras reservadas son utilizadas por Python internamente, por lo que no podemos usarlas para nuestras variables o funciones.
Por ejemplo, a veces podríamos usar "int" ó "for" y esto nos daría error, porque como se verá más adelante, esas palabras son parte de la sintaxis de Python.
Sin embargo, cuando ese dato no lo alojamos en una variable y lo utilizamos directamente, recibe el nombre de constante.
Es importante notar, que podemos encontrarnos con datos de tipos distintos, es decir numéricos, alfanuméricos o booleanos.
En Python tenemos los siguientes:
- Enteros: el conjunto de números enteros
- Floats: el conjunto de números reales o de punto flotante
- Cadenas o Strings: es texto, caracteres alfanuméricos que se introducen entre comillas dobles o simples
- Booleanos: representan Verdadero ó Falso
- Complejos: el conjunto de números complejos
Todo valor que pueda ser asignado a una variable tiene asociado un tipo de dato y esto establece qué operaciones se pueden realizar sobre la misma.
Tip: En Python hay algunas funcionalidades ya presentes por defecto, como por ejemplo la funcion **print()** que permite mostrar una salida por pantalla y la función range() que devuelve un rango numérico según los parámetros que recibe y con la función **type()** es posible ver el tipo de dato de una variable
Con diferentes tipos de datos podemos hacer diferentes tipos de operaciones. Y hay operaciones no permitidas entre variables de diferentes tipos de datos.
Operaciones aritméticas:
Operación | Operador | Ejemplo |
---|---|---|
Suma | + | 3 + 5.5 = 8.5 |
Resta | - | 4 - 1 = 3 |
Multiplicación | * | 4 * 2 = 8 |
Potenciación | 42 | 4**2 = 16 |
División (Cociente) | / | 4 / 2 = 2 |
División (parte entera) | // | 14 // 3 = 4 |
División (resto) | % | 14 % 3 = 2 |
Operadores relacionales:
Operación | Operador | Ejemplo |
---|---|---|
== | Igual | 10 == 3 = False |
!= | Distinto | 10 != 3 = True |
> | Mayor | 10 > 3 = True |
< | Menor | 10 < 3 = False |
>= | Mayor o igual | 10 >= 3 = True |
<= | Menor o igual | 10 <= 3 = False |
Operaciones de asignación:
Operación | Operador | Ejemplo |
---|---|---|
= | x=7 | x=7 |
+= | x+=2 | x=x+2 = 9 |
-= | x-=2 | x=x-2 = 5 |
*= | x*=2 | x=x*2 = 14 |
/= | x/=2 | x=x/2 = 3.5 |
%= | x%=2 | x=x%2 = 1 |
//= | x//=2 | x=x//2 = 3 |
**= | x**=2 | x=x**2 = 49 |
&= | x&=2 | x=x&2 = 2 |
^= | x^=2 | x=x^2 = 5 |
>>= | x>>=2 | x=x>>2 = 1 |
<<= | x<<=2 | x=x<<=2 = 28 |
Operación: |=
Operador: x|=2
Ejemplo: x=x|2 = 7
Cuando tratamos con texto, podemos hacer otras operaciones:
Operación | Operador | Ejemplo |
---|---|---|
Concatenar | + | 'hola ' + 'mundo !' = 'hola mundo!' |
Multiplicar | * | 'ja ' * 3 = 'ja ja ja' |
Algunos ejemplos en Python:
>>> a = 'Hola '
>>> b = 'Mundo !'
>>> print(a + b)
Hola Mundo !
>>> x = 3
>>> y = 12
>>> print(x + y)
15
>>> print(a + x)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_18232/136165486.py in <module>
----> 1 print(a + x)
TypeError: can only concatenate str (not "int") to str
Notar que en las operaciones que no están permitidas arroja un error, que es muy descriptivo. En este caso no es posible sumar un valor entero con un valor alfanumérico.
>>> # Dividir "y" entre "x"
>>> y = 9
>>> x = 3
>>> print(y/x)
3.0
>>> # Potencia de "y" elevado a la "x"
>>> y = 2
>>> x = 4
>>> print(y**x)
16
>>> # Devolver el resto de la división
>>> y = 13
>>> x = 3
>>> print(y%x)
1
>>> # Imprimir el tipo de dato de una variable y una constante
>>> y = 2.5
>>> type(y)
float
>>> type(2.5)
float
Notar que anteponiendo el carácter numeral (#) es posible agregar comentarios en el código. Por otra parte, la función type() es muy útil para saber a qué tipo de dato corresponde un elemento.
Operaciones Lógicas
Son operaciones en las que entran en uso el tipo de datos booleano, es decir, que nos permiten representar valores verdadero o falso. Para verlo mejor, es necesario recurrir a lo que llamamos tablas de verdad. Veremos muy comúnmente representar verdadero con un "1" y falso con un "0".
Tabla del operador lógico "and", se verifican que A y B sean verdaderas.
A | B | A and B |
---|---|---|
1 | 0 | 0 |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
Tabla del operador lógico "or", se verifican que A o B sean verdaderas.
A | B | A or B |
---|---|---|
1 | 0 | 1 |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 1 | 1 |
Tambien es posible representar la negación, con el operador not()
Tabla del operador lógico "Or Exclusiva", se verifica ((A and not(B)) or (not(A) and B))
A | B | A "or exclusiva" B |
---|---|---|
1 | 0 | 1 |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 1 | 0 |
>>> a = True
>>> b = False
>>> print(a or b)
True
Tips: Notar que las constantes "True" y "False" se escriben con la primer letra mayúscula y el resto minúsculas, de otra forma arrojaría un error
Puede haber ocasiones en las que desee especificar un tipo en una variable. Esto se puede hacer con lo que se denomina casting. La conversión de tipo de dato en python se realiza mediante funciones:
int(): construye un número entero a partir de un literal entero, un literal flotante (eliminando todos los decimales) o un literal de cadena (siempre que la cadena represente un número entero) float(): construye un número flotante a partir de un literal entero, un literal flotante o un literal de cadena (siempre que la cadena represente un flotante o un entero) str(): construye una cadena a partir de una amplia variedad de tipos de datos, incluidas cadenas, literales enteros y literales flotantes
>>> x = '2'
>>> print(type(x))
<class 'str'>
>>> x = int(x)
>>> print(type(x))
<class 'int'>
>>> y = int(2.8)
>>> print(y)
2
-
[Cheat Lists] (https://intellipaat.com/blog/tutorial/python-tutorial/data-structures-with-python-cheat-sheet/?US)
-
Si tienes dudas sobre este tema, puedes consultarlas en el canal #m03_variablesydatos de Slack