Usuario anónimo ¿Quieres tener tu propio blog?
Crear blog gratis en OboLog

Python: Variables y asignaciones.

por banyut
domingo, 29 de junio del 2008 a las 14:21
guardado en

Ya hemos utilizado variables en el articulo anterior, su uso es simple y no dista mucho de cualquier otro lenguaje de programación.

Las variables son útiles para poder guardar información que más tarde necesitaremos. En ellas se puede guardar prácticamente cualquier cosa (números, caracteres, strings, listas, conjuntos, etc).

En python no hace falta declarar explícitamente las variables antes de su uso, estas se crean en el momento en el que les asignamos un valor y se destruyen automáticamente al salir de su ámbito (En este punto explicar que es el ámbito de las variables sin hacer mención a cosas que aún no conocemos se me hace difícil, así que lo dejaremos para los capítulos siguientes, de todas formas y para hacer boca, hablamos de ámbito para indicar el espacio en el que la variable es visible o dicho de otra forma, se puede utilizar, no os preocupéis es algo que ya veremos).

Al asignarle un valor a una variable, esta automáticamente coge el valor y el tipo del dato que le hayamos pasado. Esto es lo que se conoce como “tipado dinamico”

banyut@hades:~$ python

Python 2.5.2 (r252:60911, Apr 21 2008, 11:12:42)

[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> a=3

>>> type(a)

<type 'int'>

>>> a=3.0

>>> type(a)

<type 'float'>

>>> a='c'

>>> type(a)

<type 'str'>

Después de la última asignación de la variable a, esta es del tipo carácter, por lo que la variable solo puede operar con los operadores aritméticos que le corresponden, tal y como vimos en el capitulo anterior.

>>> a = a + 1

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: cannot concatenate 'str' and 'int' objects

>>> a= a + '1'

>>> print a

'c1'

A tener muy en cuenta es que en python no se permite hacer referencia a una variable a la que nunca se le haya asignado un valor.

>>> print b

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

NameError: name 'b' is not defined

>>> b="ya tengo valor"

>>> print b

ya tengo valor

A todos nos tiene que haber quedado claro que el operador de asignación es el signo '=' que no hay que confundir con '=='.

El nombre de una variable, ha de empezar por una letra o por el carácter guión bajo, seguido de letras, números o guiones bajos, teniendo en cuenta que solo se permiten los caracteres del alfabeto inglés, así que olvidaros de la 'ñ' o la 'ç'. De igual manera, tampoco se puede usar como variables ninguna de las siguientes 31 palabras que python tiene reservadas.

And del from not while as elif

global or with assert else if pass

yield break except import print class exec

in raise continue finally is return def

for lambda try

Phyton distingue entre mayúsculas y minúsculas, así la variable 'A' es diferente de la variable 'a'.

>>> nom="Juan"

>>> Nom="Pedro"

>>> print nom, Nom

Juan Pedro

Ya hemos visto que la asignación de una variable se realiza mediante el signo igual '='.

>>> nombre = "pepe"

>>> un_vector = (3,5,6)

>>> una_lista = [3,5,6]

>>> dias_semana = ['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes']

>>> un_entero = 3

>>> un_float = 3.0

>>> un_complejo = 3 + 4j

>>> otro_float = un_entero + un_float

>>> un_boolean = True

>>> otro_boolean = un_boolean == False

Si no tenéis mucha experiencia en programación puede que la última asignación os desoriente un poco, pero no os preocupéis mucho, dentro de poco veréis como la entendéis a la perfección.

Vemos que a una variable le podemos asignar.

  • Un valor a = 3

  • El valor de otra variable b = a, ahora b = 3

  • El resultado de una operación c = 3 + 2, ahora c = 5.

Python nos permite asignaciones múltiples.

>>> ciudad = municipio = "Tarragona"

>>> ciudad

'Tarragona'

>>> municipio

'Tarragona'

A la variable ciudad y a la variable municipio, les asignamos la cadena “Tarragona”. Tambien podemos asignar valores diferentes en las asignaciones múltiples.

>>> anyo, mes, dia, hermanos = 1966, "decembre", 13, ["Juan","Roser","Maria"]

La primera variable (anyo), cogerá el primer valor (1966), la segunda variable el segundo valor, etc.

Veamos otra posibilidad, crearemos un vector al que le asignaremos los números del 1 al 5.

>>> v = (1, 2, 3, 4 5)

>>> v

(1, 2, 3, 4 5)

Ahora cada uno de esos valores los asignaremos a una variable diferente.

>>> lunes, martes, miercoles, jueves, viernes = v

Lunes coge el valor de 1, martes 2, miercoles 3, etc. Otra manera de hacerlo.

>>> v = range(1,6)

>>> v

[1, 2, 3, 4, 5]

>>> lunes, martes, miercoles, jueves, viernes = v

>>> jueves

4

>>>

Este tipo de asignaciones es especialmente útil cuando necesitamos que una función nos devuelva más de un resultado (función?? ya lo veremos más adelante). En este punto también se ha introducido la función range(), de momento lo único que hemos de saber es que esta función nos devuelve una lista de enteros que puede variar según los parámetros que le pasemos, en su forma más sencilla se le pasara un único parámetro que sera su limite superior, devolviendo una lista ordenada que ira de 0 a limite-1.

En el capitulo pasado vimos las operaciones aritméticas, en este hemos dicho que el resultado de una operación se puede asignar a una variable, veamos como se realiza todo esto.

>>> a = 1

>>> a = a + 1

>>> a

2

>>> a += 1

>>> a

3

Las lineas 2 y 5 realizan la misma operación. El operador de la linea 5 '+=' se utiliza cuando operamos sobre la misma variable a la que vamos a asignar, es lo mismo que decir a la variable a le sumamos 1. Este tipo de operación se puede realizar con prácticamente todos los operadores aritméticos.

>>> a = 2

>>> a *= 10

>>> a /= 2

>>> a **= a

>>> a

10000000000L

Nos tiene que quedar claro cual es el tipo de devolverá la operación que realicemos, si es una comparación nos devolverá, True o False, si la operación es con cadenas de texto posiblemente nos devuelva una cadena de texto, etc. Así que a la hora de asignar a una variable el resultado de una operación hemos de tener en cuenta que tipo de dato devolverá.

>>> nombre = "Juan"

>>> mida = len(nombre)

>>> nombre_largo = mida > 6

>>> nombre

'Juan'

>>> mida

4

>>> nombre_largo

False

En ocasiones la asignación de una variable, sobre todo si se trata de listas o tuplas, puede ocasionar una sentencia tan larga que nos sea difícil de leer, en este caso podemos dividir la asignación en varias lineas, esto se consigue añadiendo al final de la linea el carácter '\'.

>>> meses = ['enero', 'febrero', 'marzo', \

... 'abril', 'mayo', 'junio', \

... 'julio', 'agosto', 'setiembre', \

... 'octubre', 'noviembre', 'diciembre']

>>> meses[3]

'abril'

>>> meses[10]

'noviembre'

>>>

Algunas Recomendaciones.

Dejaremos siempre un espacio a cada lado de:

  • Asignación: a = a + 1

  • Asignación aumentada (+=, *=, -=, etc): a += 1

  • Comparaciones (==, <, >, !=, <=, >=, not, in, not in, etc): a == 3

  • Operadores aritméticos: c = (a + b) * (c + d)

 

Relacionados con Python: Variables y asignaciones.

Comentarios sobre Python: Variables y asignaciones.

fernando fernando

Hola,

¿No hay un comando en el interprete de python que muestre las variables que se han definido a lo largo de una sesión?

Gracias

Deja tu comentario sobre Python: Variables y asignaciones.

Deja tu comentario
Necesitas tener javascript activado para poder dejar comentarios

Identifícate en OboLog, o crea tu blog gratis si aún no estás registrado.

De esta forma, además, podrás mostrar tu imagen en los comentarios y no tendrás que rellenar tus datos cada vez.

Sobre esta anotación

banyut

banyut escribió esta anotación hace 1 año. En ella habla sobre Python.

1 persona ha dejado ya sus comentarios.

Tú también puedes dejar el tuyo.

Temas relacionados

Login

Comentarios

Restaurar el audio en UBUNTU (Alejandro)
Al 50% del compilador me arroja el error de nuevo alguien sabe xq? o tendra alguna solucion??? ......(15 nov)
Importar en openoffice write y calc (R. A.)
Sigo sin resolver un problemita: ¿Puedo o no puedo importar una tabla en Write a Calc?  Microsoft ......(12 nov)
Restaurar el audio en UBUNTU (skater)
muchas gracias! me ayudaste aun no funcionan mis auriculares pero me funciona el sonido con mis ......(12 nov)
Traducción offline con STARDIC (mserra)
Muchísimas gracias, lo echaba de menos....(07 nov)
Python: Variables y asignaciones. (fernando)
Hola, ¿No hay un comando en el interprete de python que muestre las variables que se han definido a ......(06 nov)

Más comentados

Restaurar el audio en UBUNTU (24)
Hay veces que sin saber que es lo que hacemos exactamente, nos cargamos el audio del sistema, no se ...
Convertir Ubuntu Hardy en un Mac OSX Leopard (21)
Para transformar la versión Intrepid Ibex, tenes este otro link. He encontrado un Post en el que de ...
Convertir Ubuntu Intrepid en un Mac (Mac4Lin) (17)
En su día ya vimos un manual de como convertir Hardy en un mac, esta vez lo haremos para Intrepid, ...
Python: Las Listas (16)
Son la esencia de python, las podríamos definir como una secuencia ordenada de elementos encerrados ...
Copias de seguridad en UBUNTU (crontab, rsync, dd) (13)
Hoy abordaremos el tema de las copias de seguridad. El objetivo es montar dos tipos de copias, por ...

Suscripción

Suscríbete al Feed RSS XML

También puedes suscribirte directamente con alguno de los siguientes enlaces:

  • Suscríbete en Bloglines
  • Suscríbete en Google