Variables en Programación
Variables en Programación
(Docente)
(Estudiantes)
Universidad de Antioquia
Facultad de Ingeniería
Ingeniería Industrial
Algoritmia y Programación
Grupo 1
a=2 Lo que estamos pidiendo al programa es que guarde el valor 2 en una "caja" y que
a la caja le llame a.
En esos lenguajes, el símbolo igualdad (=) hay que entenderlo como una asignación, no como una
igualdad matemática. Al escribir una igualdad, le estamos pidiendo al programa que calcule lo que
hay a la derecha de la igualdad y que lo guarde en la variable que hay a la izquierda de la igualdad.
Una vez hemos guardado un valor en una variable, podemos hacer referencia a él a lo largo
del programa. Por ejemplo, el siguiente programa.
a=2
b=3
c=a+b
Guarda el valor 2 en la variable a
Guarda el valor 3 en la variable b
Coge los valores guardados en las variables a y b (2 y 3), los sumas (2+3) y el resultado (5)
lo guarda en la variable c.
Algunos lenguajes de programación (C, C++, Java, etc) exigen que antes de utilizar una
variable se defina el tipo de información que se va a guardar en esa variable. Otros
lenguajes de programación (Python, PHP, etc.) no lo exigen y es el intérprete del lenguaje
el que decide el tipo de variable a utilizar en el momento que se guarda la información.
Los lenguajes que requieren definir los tipos de las variables se denominan lenguajes
tipificados y los que no se denominan lenguajes no tipificados.
VARIABLES EN PYTHON
En algunos lenguajes de programación, las variables se pueden entender como "cajas" en las que
se guardan los datos, pero en Python las variables son "etiquetas" que permiten hacer referencia a
los datos (que se guardan en unas "cajas" llamadas objetos).
un identificador único (un número entero, distinto para cada objeto). El identificador
permite a Python referirse al objeto sin ambigüedades.
un tipo de datos (entero, decimal, cadena de caracteres, etc.). El tipo de datos permite saber
a Python qué operaciones pueden hacerse con el dato.
un valor (el propio dato).
Así, las variables en Python no guardan los datos, sino que son simples nombres para poder hacer
referencia a esos objetos. Si escribimos la instrucción:
a=2 Python:
crea el objeto "2". Ese objeto tendrá un identificador único que se asigna en el momento de
la creación y se conserva a lo largo del programa. En este caso, el objeto creado será de tipo
número entero y guardará el valor 2.
asocia el nombre a al objeto número entero 2 creado.
Así, al describir la instrucción anterior no habría que decir 'la variable a almacena el número entero
2', sino que habría que decir 'podemos llamar a al objeto número entero 2'. La variable a es como
una etiqueta que nos permite hacer referencia al objeto "2", más cómoda de recordar y utilizar que
el identificador del objeto.
Por otro lado, en Python se distingue entre objetos mutables y objetos inmutables:
Los objetos inmutables son objetos que no se pueden modificar. Por ejemplo, los números,
las cadenas y las tuplas son objetos inmutables
Los objetos mutables son objetos que se pueden modificar. Por ejemplo, las listas y los
diccionarios son objetos mutables.
En el caso de los objetos inmutables (como los números) no hay mucha diferencia entre considerar
la variable como una caja o como una etiqueta, pero en el caso de los objetos mutables (como las
listas) pensar en las variables como cajas puede llevar a error.
Por economía del lenguaje, en estos apuntes se utilizan expresiones como "guardar un valor en una
variable" en vez de "guardar el valor en un objeto y asociar una variable al objeto", pero el alumno
debe tener presente lo que ocurre en realidad en Python.
Las variables en Python se crean cuando se definen por primera vez, es decir, cuando se les asigna
un valor por primera vez. Para asignar un valor a una variable se utiliza el operador de igualdad
(=). A la izquierda de la igualdad se escribe el nombre de la variable y a la derecha el valor que se
quiere dar a la variable.
En el ejemplo siguiente se almacena el número decimal 2.5 en una variable de nombre x (como se
comenta en el apartado anterior, realmente habría que decir que se crea la etiqueta x para hacer
referencia al objeto número decimal 2.5). Fíjese en que los números decimales se escriben con
punto (.) y no con coma (,).
>>> x = 2.5
>>> 2.5 = x
Para que IDLE muestre el valor de una variable, basta con escribir su nombre:
>>> x = 2.5
>>> x
2.5
Si una variable no se ha definido previamente, escribir su nombre genera un mensaje de error:
>>> x = -10
>>> y
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
y
NameError: name 'y' is not defined
Una variable puede almacenar números, texto o estructuras más complicadas (que se verán más
adelante). Si se va a almacenar texto, el texto debe escribirse entre comillas simples (') o dobles
("), que son equivalentes. A las variables que almacenan texto se les suele llamar cadenas (de texto).
>>> Nombre = "Pepito Conejo"
>>> Nombre
'Pepito Conejo'
Si no se escriben comillas, Python supone que estamos haciendo referencia a otra variable (que, si
no está definida, genera un mensaje de error):
>>> Nombre = Pepe
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
Nombre = Pepe
NameError: name 'Pepe' is not defined
>>> Nombre = Pepito Conejo
SyntaxError: invalid syntax
Nombres de variables
El nombre de una variable debe empezar por una letra o por un guion bajo (_) y puede seguir con
más letras, números o guiones bajos.
>>> _x = 3.8
>>> _x
3.8
>>> x1 = 100
>>> x
100
>>> fecha_de_nacimiento = "27 de octubre de 1997"
>>> fecha_de_nacimiento
'27 de octubre de 1997'
Los nombres de variables no pueden incluir espacios en blanco.
>>> Fecha de nacimiento = "27 de octubre de 1997"
SyntaxError: invalid syntax
Los nombres de las variables pueden contener mayúsculas, pero tenga en cuenta que Python
distingue entre mayúsculas y minúsculas (en inglés se dice que Python es case-sensitive).
>>> nombre = "Pepito Conejo"
>>> Nombre = "Numa Nigerio"
>>> nomBre = "Fulanito Mengánez"
>>> nombre
'Pepito Conejo'
>>> Nombre
'Numa Nigerio'
>>> nomBre
'Fulanito Mengánez'
Cuando el nombre de una variable contiene varias palabras, se aconseja separarlas con guiones
bajos para facilitar la legibilidad, aunque también se utiliza la notación camelCase, en las que las
palabras no se separan pero empiezan con mayúsculas (salvo la primera palabra).
>>> fecha_de_nacimiento = "27 de octubre de 1997"
>>> fechaDeNacimiento = "27 de octubre de 1997"
Tipos de variables
En el apartado anterior hay definiciones de algunos de los tipos de variables que hay en Python:
números decimales, números enteros y cadenas (una o más letras).
Aunque se definan de forma similar, para Python no es lo mismo un número entero, un número
decimal o una cadena ya que, por ejemplo, dos números se pueden multiplicar pero dos cadenas no
(curiosamente, una cadena sí que se puede multiplicar por un número).
Por tanto, estas tres definiciones de variables no son equivalentes:
>>> fecha = 1997
>>> fecha = 1997.0
>>> fecha = "1997"
>>> fecha = [27, "octubre", 1997]
En el primer caso la variable fecha está almacenando un número entero, en el segundo fecha está
almacenando un número decimal y en el tercero fecha está almacenando una cadena de cuatro
letras. En el cuarto, fecha está almacenando una lista (un tipo de variable que puede contener varios
elementos ordenados).
Este ejemplo demuestra también que se puede volver a definir una variable. Python modifica el
tipo de la variable automáticamente.
VARIABLES EN JAVA
En Java, se puede declarar una variable indicando el tipo de dato que podrá almacenar y su nombre
(identificador). Por ejemplo, para almacenar un número entero, se puede escribir:
int numero;
Nota: obsérvese que, es necesario añadir un carácter punto y coma (;) al final de la declaración.
Tipos de datos
Las variables pueden almacenar distintos tipos de datos. En Java, dichos tipos se pueden
clasificar en dos categorías: tipos primitivos y tipos de objeto.
Los tipos primitivos están predefinidos, es decir, son proporcionados por el lenguaje de
programación. En Java existen ocho tipos de datos primitivos, entre ellos el
tipo int (abreviatura de integer) define valores numéricos enteros.
Los tipos de objeto son definidos mediante clases por el programador o están definidos por
Java (como por ejemplo String).
Al respecto, es importante comprender que los valores de tipos primitivos se almacenan en
variables. Sin embargo, en una variable de tipo de objeto no se almacena un objeto, sino una
referencia (puntero o dirección de memoria) al objeto.
int numero;
ciudad
codigoPostal
codigo_postal
numero2
$total
Sin embargo, no son identificadores válidos:
ciudad?
codigo-postal
2numero
8.76
nombre@apellido
Nota: las palabras reservadas (class, public, void...) del lenguaje Java, no pueden ser utilizadas
por los programadores para definir identificadores.
Para poder hacer uso de una variable declarada en un programa, previamente hay que asignarle
un valor. EJEMPLO Habiéndose declarado la siguiente variable para almacenar la edad de una
persona, es decir, un número entero:
int edad;
Si en la variable edad se quiere guardar, por ejemplo, el número 21, en Java esto se puede hacer
escribiendo:
edad = 21;
Nota: fíjese que, al igual que en la declaración, también hay que escribir un punto y coma (;) al
final de esta instrucción.
El símbolo (=) representa al operador de asignación de Java que, en este caso, asigna –almacena–
el valor 21 en el espacio de memoria representado por la variable edad. En Java existen otros
operadores de asignación.
int cantidad;
Cantidad = 52;
Syste.out.println(cantidad);
En consecuencia, al compilar y ejecutar el siguiente código:
int a;
int b;
int c;
Otra posibilidad de hacer lo mismo es escribir:
int a,b,c;
int a=3;
int b=5;
int c;
Lo mismo se puede hacer en una línea:
int a=3;
int b=5;
int c=a;
En la consola mostrará
VARIABLES EN JAVASCRIPT
Declaraciones
let: Declara una variable local con ámbito de bloque, opcionalmente la inicia a un valor.
Variables en JavaScript
Utiliza variables como nombres simbólicos para valores en tu aplicación. Los nombres de las
variables, llamados identificadores, se ajustan a ciertas reglas.
Un identificador de JavaScript debe comenzar con una letra, un guión bajo (_) o un signo de dólar
($). Los siguientes caracteres también pueden ser dígitos (0-9).
Dado que JavaScript distingue entre mayúsculas y minúsculas, las letras incluyen los caracteres
"A" a "Z" (mayúsculas), así como "a" a "z" (minúsculas).
Puedes utilizar la mayoría de las letras ISO 8859-1 o Unicode como å y ü en los identificadores.
(Para obtener más detalles, consulta esta publicación del blog). También puedes usar Secuencias
de escape Unicode como caracteres en identificadores.
Con la palabra clave var. Por ejemplo, var x = 42. Esta sintaxis se puede utilizar para
declarar variables locales y globales, dependiendo del contexto de ejecución.
Con la palabra clave const o let. Por ejemplo, let y = 13. Esta sintaxis se puede utilizar para
declarar una variable local con ámbito de bloque. (Ve el Ámbito de variables abajo.)
También puedes simplemente asignar un valor a una variable. Por ejemplo, x = 42. Este formulario
crea una variable global no declarada. También genera una advertencia estricta de JavaScript. Las
variables globales no declaradas a menudo pueden provocar un comportamiento inesperado. Por
lo tanto, se desaconseja utilizar variables globales no declaradas.
Una variable declarada usando la instrucción var o let sin un valor asignado especificado tiene el
valor de undefined.
Un intento de acceder a una variable no declarada da como resultado el disparo de una excepción
ReferenceError:
var a;
var b;
let x;
let y;
Puedes usar undefined para determinar si una variable tiene un valor. En el siguiente código, a la
variable input no se le asigna un valor y la declaración if evalúa a true.
var input;
doThis();
} else {
doThat();
El valor undefined se comporta como false cuando se usa en un contexto booleano. Por ejemplo,
el siguiente código ejecuta la función myFunction porque el elemento myArray es undefined:
var myArray = [];
if (!myArray[0]) myFunction();
var a;
a + 2; // Evalúa a NaN
Cuando evalúas una variable null, el valor nulo se comporta como 0 en contextos numéricos y
como false en contextos booleanos. Por ejemplo:
var n = null;
Cuando declaras una variable fuera de cualquier función, se denomina variable global, porque
está disponible para cualquier otro código en el documento actual. Cuando declaras una variable
dentro de una función, se llama variable local, porque solo está disponible dentro de esa función.
JavaScript anterior a ECMAScript 2015 no tiene el ámbito de la declaración de bloque. Más bien,
una variable declarada dentro de un bloque es local a la función (o ámbito global) en el que reside
el bloque.
if (true) {
var x = 5;
console.log(x); // x es 5
let y = 5;
Referencias: