Razón Artificial

La ciencia y el arte de crear videojuegos

Curso Python II – Tipos y variables

Escrito por adrigm el 19 de enero de 2010 en Noticias, Programación | 4 Comentarios.

Tipos de datos

En el capítulo anterior vimos dos tipos de datos: Las cadenas de caracteres, que son un conjunto de letras, “Hola Mundo” y también vimos enteros que no son más que números.

Anteriormente usamos la sentencia print para imprimir una cadena de caracteres, pero también puedes imprimir otros tipos de datos con print, como enteros.

>>> print 5
5

Para saber de qué tipo es un dato en concreto puede usar la siguiente función, todavía no se preocupe por el concepto de función más adelante lo trataremos:

>>> type(5)
<type 'int'>
>>> type("Hola Mundo")
<type 'str'>
>>> type(4.2)
<type 'float'>
>>> type("6")
<type 'str'>
>>> type("8.45")
<type 'str'>

Como vemos la función type() devuelve el tipo de dato que se encuentra entre paréntesis, vamos a ir línea por línea para ver que tipos de datos son:

En el primero como vemos al poner 5 devuelve int (integer es entero en inglés). “Hola Mundo” devuelve str de string (cadena en inglés). Ahora viene un tipo de dato nuevo 4.2 es un número decimal y en python se les llama float.

Los dos últimos son casos especiales “6” y “8.45” parecen de tipo int y float respectivamente, pero como están entre comillas para python son cadena de caracteres como lo era “Hola Mundo”, no son números y no se deben tratar como tal.

Otra cosa a tener en cuenta es que para imprimir un entero largo como por ejemplo 1000000 usted podría usar la “,” para separar los miles 1,000,000 con esto lo que estaría diciendo a python es que imprima 3 enteros: 1, 0, 0. Por tanto no use la coma para separar los miles.

>>> print 1000000

1000000
>>> print 1,000,000
1 0 0

Variables

Las variables son una de las características más importante de la programación y las encontrará en todos los lenguajes. Una variable en programación no dista mucho de una variable matemática es una palabra o letra que hace referencia a un valor en concreto.

>>> a = 5
>>> mensaje = "Me gusta Python"
>>> pi = 3.1415

Como vemos mediante el signo “=” asignamos el valor que queramos a una variable. a vale 5, mensaje contiene “Me gusta Python” y pi el valor 3.1415.

Las sentencias anteriores también funcionan con variables, por ejemplo la sentencia print:

>>> print a
5
>>> print mensaje
Me gusta Python
>>> print pi
3.1415

y también la función type(), en general en cualquier sitio donde puede ir un valor puede ir una variable que represente ese valor:

>>> type(a)
<type 'int'>
>>> type(mensaje)
<type 'str'>
>>> type(pi)
<type 'float'>

como vemos el tipo que devuelve type() se corresponde con el tipo de dato que contiene cada una de las variables pasadas.

Nombres de variable

En general python acepta cualquier conjunto de letras y número como nombre de variable, pero hay una serie de reglas a tener en cuenta:

  • Puedes usar números y letras pero debe comenzar con una letra.
  • Puedes usar mayúsculas y minúsculas, por convenio se suelen usar las minúsculas.
  • Python distingue entre mayúsculas y minúsculas no es la misma variable número que Número.
  • También es válido el guión bajo “_”, por ejemplo, numero_lapices.
  • Totalmente prohibido el uso de tildes en los nombres de variable.
  • tampoco puedes usar como nombres de variable las palabras reservadas de Python, son las siguientes: and, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try y while.

Procura usar nombres de variables descriptivos, que no sean ambiguos y que definan claramente lo que contienen, por ejemplo si quieres almacenar el número de caramelos no uses c = 20, sino, num_caramelos = 20.

Operadores y expresiones

En el primer capítulo ya vimos que podíamos usar python para resolver operaciones matemáticas como 5+4, no es difícil averiguar que estas operaciones se pueden realizar también con variables, veamos algunos ejemplos:

>>> a = 2
>>> b = 5
>>> a*b
10
>>> c = a + b
>>> b*c+a
37
>>> -a
-2

Como vemos podemos usar las variables como si de números se trataran y asignar a una variable el resultado es una operación ya sea entre variables, o números y variables.

Los operadores que encontrarás en Python son los típicos matemáticos +, -, *, / son los símbolos de suma, resta, multiplicación y división el operador ** es el operador de potencia y uno no tan común es el % que devuelve el resto de una división, ejemplos de uso:

>>> 5+4
9
>>> 5-4
1
>>> 5*4
20
>>> 5/4
1
>>> 5%4
1
>>> 5.0/4.0
1.25
>>> 5**4
625

De todos parecen resultados lógicos menos 5/4 que devuelve 1 cuando el resultado es 1.25, esto es así porque estas dividiendo dos enteros y por tanto devuelve un entero, para que el resultado se nos dé en decimales alguno de los operandos debe ser de tipo float como hemos hecho en 5.0/4.0 que en este caso si devuelve 1.25.

No olvide que el operador % no tiene nada que ver con el porcentaje y que lo que devuelve es el resto de una división.

Si ha sido un poco curioso verá que python evalúa más que operaciones simples, expresiones como las siguientes:

>>> a = 6
>>> b = 4.53
>>> c = a + b * 8 ** 5 / a
>>> print c
24745.84

En Python hay unas reglas para decidir que operaciones se hacen primero como ya dijimos, sinceramente yo nunca las aprendí, pienso que cuando se duda es más fácil aplicar paréntesis, aparte de que propicia menos errores el programa quedará más fácil de leer.

Operaciones con cadenas

Hasta ahora hemos visto operaciones que actúan sobre los tipos de datos int y float, pero ¿Qué pasa con las cadenas? en general es ilógico hacer una opereación sobre una cadena, pero algunas sí se pueden, eso sí, el resultado no será el esperado.

>>> a = "Hola"
>>> b = "Mundo"
>>> c = a + b
>>> print c
HolaMundo
>>> a*3
'HolaHolaHola'
>>> c*2
'HolaMundoHolaMundo'
>>> a + " " + b
'Hola Mundo'

Como vemos el operador “+” sirve para unir dos cadenas de caracteres y el operador “*” multiplica el valor de la cadena por el número pasado.

4 Comentarios en "Curso Python II – Tipos y variables"

  1. Fernando dice:

    Genial el blog. Era justo lo que estaba buscando.

    Vas a continuar con el curso de Python?

  2. Chindasvinto dice:

    Buenísimo el blog! Me sumo a Fernando:

    Vas a continuar con el curso de Python?

  3. Daniel dice:

    Lastima que el curso no siguió…..

  4. federico dice:

    hola necesito introducir por teclado un caracter, este puede ser letra o numero. si se introdujo en mayuscula debe de decir ” es una mayuscula.”, si es minuscula, ” es minuscula”, si es un numero. “no es una letra”.este es el programa porfa ayudenmen para saber en que me estoy equivocando! gracias

    a = raw_input(“Ingrese un caracter : “)

    if a == a.lower():
    print (“Es una MINÚSCULA”)

    else:
    if a == a.upper():
    print (“Es una MAYÚSCULA”)

    else :
    if a>=0 or a<=9 :
    print ("no es")

Deja un comentario