Variables en Python
Hola de nuevo. Hoy vamos a ver cómo guardar la información que tu programa necesita para funcionar, algo que necesitarás para hacer cosas más útiles que mostrar un texto en la consola. Como ya te dije en el tutorial anterior, este es el último de carácter un poco más teórico, pero creo que es necesario antes de avanzar.
Las variables van a ser el almacén donde se guardan los datos que necesitan los programas. En Python, al contrario que en otros lenguajes como C o Java, no es necesario especificar al principio del programa el nombre que van a tener las variables, ni qué tipo de datos van a almacenar. Bastará que le asignes un valor a su identificador y ya está. Una vez definida ya puedes usarla para hacer operaciones o para mostrarla en la consola. Puedes ir practicando con el intérprete de python.
>>> mivariable = 6 # ahora mivariable es un entero de valor 6 >>> print(mivariable) 6 >>> mivariable = "hola " # asignando una cadena cambia el tipo >>> print (mivariable*2) hola hola
El no tener que definir el tipo de dato que va a tener una variable de antemano está muy bien para empezar, pero lo normal es mantener el tipo de datos de una variable, porque si no tienes un poco de orden acabarás por tener variables que no sabrás qué contienen en un momento dado. Los identificadores de variables pueden contener números, letras y guiones bajo y normal, pero tienen que empezar por letra. Además son sensibles a mayúsculas y minúsculas. Lo normal es usar un nombre que tenga que ver con el contenido que almacenamos, pero que no sea demasiado largo.
Para ver de qué tipo es una variable bastará con usar la función type().
>>> a=3 # definimos una variable entera >>> type(a) <type 'int'> >>> b=3.0 # definimos una variable float (coma flotante) >>> type(b) <type 'float'> >>> c=3.0+0j # definimos una variable compleja >>> type(c) <type 'complex'> Además de los tipos básicos, tienes también colecciones de datos: listas, tuplas y diccionarios. Las listas, son el equivalente a lo que en otros lenguajes son los arrays o matrices. Una lista puede contener elementos de cualquier tipo, incluso otra lista. Para obtener a un elemento de la lista se usa el identificador, y entre corchetes la posición del elemento que queremos, pero ojo, comenzando por el cero: >>> l = [25, "hola", 3.0, [1, 2, 3]] >>> print (l[2]) 3.0 >>> print (l[3]) [1, 2, 3] >>> print(l[3][1]) 2 >>> l[3] = True # ahora el elemento 3 vale True >>> print l [25, 'hola', 3.0, True]
Una curiosidad sobre el operador [ ] de Python es que puedes utilizar también números negativos. Si se utiliza un número negativo como índice, esto se traduce en que el índice empieza a contar desde el final, hacia la izquierda; es decir, con [-1] accederás al último elemento de la lista, con [-2] al penúltimo, con [-3], al antepenúltimo, y así sucesivamente. También puedes seleccionar unas determinadas posiciones de una lista, lo que se denomina slicing, escribiendo entre los corchetes más de un numero separados por dos puntos. Escribiendo [inicio:fin] elegirás los elementos desde la posición inicio hasta la fin sin incluir esta última. Si escribes tres números [inicio:fin:salto] en lugar de dos, el tercero se utiliza para determinar cada cuantas posiciones añadir un elemento a la lista.
>>> l = [23, True, "texto", 2.5] >>> print(l[0:2]) [23, True] >>> print(l[0:4:2]) [23, 'texto'] No es necesario especificar el principio y el final del slicing. Si los omites, toma por defecto el principio o el final de la lista. >>> l = [23, True, "texto", 2.5] >>> print(l[:2]) [23, True] >>> print(l[2:]) ['texto', 2.5] >>> print(l[::2]) [23, 'texto']
Las tuplas son como las listas y todo lo que hemos dicho funciona para ellas. La diferencia es que no puedes variar su contenido ni su tamaño. Son como constantes y a cambio ocupan menos espacio. Para declararlas se utiliza el paréntesis, aunque el operador que las crea es la coma. El ejemplo siguiente funcionaría sin paréntesis, aunque se usan por favorecer que el código sea legible.
>>> t = (1, 2, 3.5, "texto") # hemos definido una tupla Es conveniente que te cuente aquí, que las cadenas de texto son también secuencias, como las listas y las tuplas, y podemos usar con ellas el operador [ ]. >>> c="hola mundo" >>> print(c[0]) h >>> print(c[5:]) mundo >>> print(c[::2]) hl ud
Los diccionarios tienen un uso más restringido y los dejaré para más adelante. Espero que no se te haya hecho demasiado aburrido y recuerda probar y experimentar todo lo que se te ocurra hasta que entiendas bien cada concepto.
Hasta el próximo tutorial.
Saludos