Una
asignación es una expresión que almacena un valor nuevo en una variable. Por ejemplo, asignemos el valor 1 a la variable
z.
z = 1
Después de que esta expresión se haya ejecutado, la variable
z tiene el valor 1. Cualquier valor anterior que tuviese
z antes de la asignación se pierde.
Las asignaciones pueden almacenar valores tipo cadena también. Por ejemplo, esto almacenaría el valor “
esta comida es buena ” en la variable
mensaje.
cosa = "comida" predicado = "buena"
mensaje = "esta " cosa " es " predicado
(Este ejemplo además ilustra una concatenación de cadenas).
Al signo ‘=’ se le llama
operador asignación. Es el operador de asignación más simple porque el valor del operando que se encuenta a la derecha permanece invariable.
La mayoría de los operadores (adición, concatenación, etc.) no tienen ningún efecto para computar un valor. Si ignoras el valor, podrías también no usar el operador. Un operador de asignación es diferente, produce un valor, pero incluso si ignoras el valor, la asignación todavía se realiza. Se llama a esto
efecto lateral.
El operando a la izquierda de la asignación no tiene porqué ser una variable; también podría ser un campo o el elemento de un array .Estos son llamados
valoresi, lo cual significa que pueden aparecer en la parte izquierda de un operador de asignación. El operando de la derecha podría ser una expresión; produce el número valor que la asignación almacena en la variable, campo o elemento de array especificado.
Es importante señalar que las variables
no tienen tipos de datos permanentes. El tipo de una variable es simplemente el tipo del valor que almacena la variable en ese momento. En el siguiente fragmento de programa, la variable
foo tiene un valor numérico primero y un valor cadena después:
foo = 1 print foo foo = "bar" print foo
Cuando la segunda asignación le da a la variable
foo un valor cadena, el hecho de que esta variable almacenase previamente un valor numérico es olvidado.
La asignación es una expresión, de forma que tiene un valor: el mismo valor que es asignado. Por lo que, z = 1 como expresión tiene el valor 1. Una consecuencia de esto es que puedes escribir asignaciones múltiples juntas:
x = y = z = 0
almacena el valor 0 en las tres variables. Hace esto porque el valor de z = 0, es cual es 0, se almacena en y, y el valor de y = z = 0, que es 0, se almacena en x.
Puedes usar una asignación en cualquier lugar en el que se pueda llamar a una expresión. Por ejemplo, es válido escribir x != (y = 1) para darle a y el valor 1 y posteriormente chequear si x es igual a 1. Pero este estilo tiende a crear programas difíciles de leer.
Además de ‘=’, existen otras diversos operadores de asignación que realizan una operación aritmética con el valor antiguo de la variable. Por ejemplo, el operador ‘+=’ calcula un nuevo valor para la variable añadiendo el valor de la derecha al valor antiguo de la variable. Por lo que, la siguiente asignación añade 5 a la variable de ‘foo’:
foo += 5
Esto es precisamente equivalente a:
foo = foo + 5
Usa el que haga que tu programa sea más claro.
Aquí tienes una tabla de operadores de asignación aritméticos. En todos los casos, el operando de la derecha es una expresión cuyo valor se convierte a número.
valori += incremento
|
Añade incremento al valor de valori para obtener el nuevo valor a asignar a valori. |
valori -= decremento
|
Substrae decremento del valor de valori. |
valori *= coeficiente
|
Multiplica el valor de valori por coeficiente. |
valori /= coeficiente
|
Divide el valor de valori entre coeficiente. |
valori %= módulo
|
Le asigna a valori el resto de la división entre modulo. |
valori ^= potencia
valori **= potencia
|
Eleva a valori a la potencia de potencia. |
0 Comentarios