02 - Curso de Python - Variables

From ChuWiki
Jump to navigation Jump to search

Cualquier duda suelo atender en este foro de python

Todo el código de este curso de Python gratuito está en github https://github.com/chuidiang/chuidiang-ejemplos/tree/master/PYTHON/curso-python. En el capítulo 02 hay un fichero variables.py con algo de código de ejemplo. Sin embargo, en este capítulo iremos viendo lo mismo, pero directamente en la línea de comandos de python, por lo que puede no coincidir exactamente. En línea comandos python tienes como arrancar la consola de comandos de python por si quieres ir probando lo relativo a variables y tipos de datos en python.

Anterior: 01 - Curso de Python - Descarga y Hola Mundo -- Índice: Curso de Python -- Siguiente: 03 - Curso de Python - Listas Tuplas y Diccionarios en Python.

Vamos en este capítulo con las variables en Python

Qué son las variables[edit]

En cualquier lenguaje de programación es normal usar determinados valores (números, textos, fechas, etc) a lo largo de nuestro programa. A veces, estos valores son fijos siempre y los podemos escribir sin más en nuestro programa, es el caso en el capítulo anterior del texto "Hola Mundo" que sacamos por pantalla.

>>> print('Hola Mundo!!')
Hola Mundo!!
>>>

pero hay otras veces que estos valores no son conocidos cuando escribimos el programa. Por ejemplo, imagina que hacemos un programa que le pide al usuario dos números, los suma y te devuelve el resultado. No sabemos cuando escribimos el programa qué números va a escribir el usuario. Así que tenemos que tener un mecanismo para guardar valores que no sabemos qué son en algún sitio de nuestro programa y poder utilizarlos más adelante. Estas son las variables.

En Python, para usar una variable, basta con darle un nombre y asignarle algún valor, por ejemplo

>>> a=3
>>> a
3

Fíjate un detalle, en la línea de comandos no hace falta poner print(). Si escribmos la variable sin más y pulsamos enter, veremos el contenido de dicha variable.

Aquí estamos creando una variable de nombre a y le estamos asignado el valor 3. En este caso, para simplificar, sí sabemos el valor, que es 3, y lo hemos asignado a la variable. Si no sabemos el valor, por ejemplo, como comentábamos antes porque se lo vamos a pedir al usuario de nuestro programa, podemos asignarle el valor None

>>> a = None
>>> a
None

Tenemos así una variable a sin valor.

Tipos de datos que se pueden asignar a las variables[edit]

Python cuenta con los siguientes tipos de datos básicos:

  • Enteros: Números sin decimales, positivos o negativos.
  • Flotantes: Números con decimales, positivos o negativos.
  • Complejos: Números complejos.
  • Cadenas: Cadenas de texto.
  • Booleanos: Pueden valer True o False

Veamos código de como asignar cada uno de estos tipos de valores a una variable

>>> # Entero
>>> a = 3
>>> a
3

>>> # Flotante
>>> a = 4.7
>>> a
4.7

>>> # Booleano
>>> a = True
>>> a
True

>>> # Complejo
>>> a = 1 + 1j
>>> a
(1+1j)

>>> # Sin valor
>>> a = None
>>> a
>>>

Aprovecho para explicar los comentarios. En Python, cualquier línea que comienza con el carácter # se considera un comentario. Detrás de él, en la misma línea, podemos escribir lo que queramos que nos ayude a entender el programa. Aquí hemos usado comentarios delante de dar el valor a cada variable para indicar de qué tipo es el valor.

Más detalles, fíjate que los flotantes usan un punto decimal, no una coma. Que los Booleanos y sin valor se representan con palabras específicas, True, False y None y que los complejos usan la nomenclatura normal, parte real más parte imaginaria seguida de j.

Otro detalle más, si te fijas, cuando la variable vale None no sale resultado en pantalla. Si lo hicieramos con print(a) sí veríamos None en pantalla.

Y un último detalle. En Python podemos cambiar el tipo de contenido de la misma variable. Es decir, la variable a puede contener ahora un entero, luego un flotante, luego una cadena, etc. Hay otros lenguajes de programación que no lo permiten. El caso de Python se conoce como "tipado dinámico", es decir, el tipo de valor que contiene una variable puede cambiar. En el caso de los lenguajes de programación que no admitan estos cambios se dice que tienen "tipado estático", es decir, una vez que se dice que una variable tiene un entero, no podemos cambiar más adelante de decisión, siempre tendrá que tener un entero.

Para saber qué tipo de dato tiene una variable, se puede usar la función type(). Por ejemplo

>>> a=3
>>> type(a)
<class 'int'>

La salida es "algo" que indica que es de tipo entero.

Uso de las variables[edit]

Desde el momento que damos valor a una variable, podemos usar el nombre de la variable en el resto del código y se interpretará como su valor. Por ejemplo

>>> a = "Hola Mundo!!"
>>> print(a)
"Hola Mundo!!"

escribirá Hola Mundo!! en la pantalla. La función print() sacará por pantalla el contenido de la variable a y no una letra a. Para que print() sepa si queremos escribir una a o el contenido de la variable a, debemos poner entre comillas, dobles o simples, si queremos que saque la a y no que la interprete como variable

>>> a = "Hola Mundo!!"
>>> # Imprime Hola Mundo!!
>>> print(a)
"Hola Mundo!!"
>>> # Imprime una letra a. Ambas sintaxis son válidas
>>> print("a")
a
>>> print('a')
a

También podemos asignar a una variable el contenido de otra variable

>>> a = 3
>>> b = a
>>> b
3

En este ejemplo guardamos un 3 en la variable a, luego guardamos en b el contenido de la variable a y finalmente sacamos por pantalla

Nombres de las variables[edit]

Hemos usado un nombre de variable muy sencillo, a, pero esto no solo no es lo habitual, sino que además no es una buena costumbre de programación. El nombre a no nos dice nada sobre qué tiene dentro la variable y más adelante, en el código, puede ser difícil de entender. Así que los nombres de las variables deben seguir ciertas reglas, algunas como consejo, otras obligatorias.

  • Deben ser nombres que nos digan algo. Por ejemplo, podemos llamar edad a una variable que va a guardar la edad de una persona.
  • Solo pueden tener letras mayúsculas, minúsculas, números o el caracter _. Debe empezar bien por una letra, bien por un _, pero no puede empezar por un número.
  • Se distinguen mayúsculas y minúsculas, por lo que son variables distintas a y A
  • No se pueden usar palabras reservadas. En Python hay varias palabras que tienen sentido para el lenguaje de programación y no podemos usarlas como nombres de variable. Por ejemplo, no podemos tener variables que se llamen True, False o None. No habría manera de saber si nos referimos al valor booleano o a la variable del mismo nombre.

A veces queremos que las variables tengan un nombre un poco largo, quizás compuesto de varias palabras. Imagina que queremos que una variable sea algo como "sueldo base". Para facilitar la lectura, hay tres recomendaciones que son bastante estándar en los lenguajes de programación:

  • camelCase: El nombre de la variable quedaría sueldoBase. Empieza por minúscula y a partir de ahí, cada palabra nueva empieza por mayúscula.
  • PascalCase: El nombre de la variable quedaría SueldoBase. Como camelCase, pero empezando con mayúscula la primera.
  • snake_case: El nombre de la variable quedaría sueldo_base. Todo minúsculas y las palabras separadas con guión bajo.

Puedes usar cualquiera de estos estilos u otro inventado por ti. Sin embargo, suele ser buena costumbre que todos los programadores de un grupo que participen en un proyecto sigan el mismo estilo. Incluso a veces, según qué se se esté nombrando (variables, funciones, clases) se use dentro de un mismo programa diferente estilo para cada cosa. Esto es una ayuda adicional para saber si el nombre es una variable, es una función, una clase...

Python tiene una guía de estilo recomendada llamada PEP8. Para variables se usa snake_case.


Anterior: 01 - Curso de Python - Descarga y Hola Mundo -- Índice: Curso de Python -- Siguiente: 03 - Curso de Python - Listas Tuplas y Diccionarios en Python.