Sie sind auf Seite 1von 12

Tipos de datos Python

El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producir un error. La asignacin de tipos a los datos tiene dos objetivos principales:

Por un lado, detectar errores en las operaciones Por el otro, determinar cmo ejecutar estas operaciones

En Python se cundo se almacenan datos en un variables, las operaciones que se pueden realizar con estas depende del tipo de dato que sean. Ejemplo: Si se sumas dos datos tipo numrico se obtendr como resultado un dato numrico, pero si se suman dos datos tipo texto se obtendr un resultado tipo texto. Numrico >>> 1 + 2 3 Texto >>> 1 + 2 12 En este ejemplo, podemos ver que se hizo dos veces lo mismo, pero la primera vez no se utiliz comillas y en la segunda s. Esto ha hecho que python se d cuenta de que tipos de datos se quieren manejar y los ha convertido automticamente a los tipos correspondientes devolviendo el resultado correcto. Por esto es necesario conocer cules son los tipos de datos que python maneja y como tenemos que hacer nosotros para indicarle que tipo de datos queremos utilizar, as no corremos el riesgo de que python convierta equivocadamente nuestros datos a tipos que no queremos.

Tipos de datos principales

int Una variable de tipo integer o entero slo puede guardar nmeros enteros.Es decir sin coma.

Float Una variable de tipo float slo puede almacenar nmeros decimales. Tomar en cuenta que en python, los nmeros decimales se escriben con punto en lugar de coma. Chr Una variable de tipo char slo puede guardar un carcter. O sea, un smbolo tipogrfico que puede ser una letra, un nmero, un espacio, una coma, etc. (Ms adelante en este documento te quedar ms claro que es un carcter). Str Una variable de tipo string o cadena slo puede almacenar una cadena de caracteres, pueden ser letras y nmeros, puntos, comas, espacios, etc. Bool Una variable booleana slo puede guardar uno de los siguientes valores: True o False (verdadero o falso).

Manejo de los tipos de datos

Int
>>> 1 1 Python convierte cualquier nmero sin coma en un entero en forma automtica. >>> int(12.35) 12 De esta forma convertimos un nmero decimal en un entero. Vemos que en Python se utiliza el punto en lugar de la coma para escribir un nmero decimal. >>> int("325 . ") 325 Python puede convertir algunas cadenas de caracteres, (un texto), a entero.

Ejemplo de un error: >>> int("hola") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'hola'

Float >>> 12.35 12.35 Python convierte cualquier nmero con coma en un float o decimal en forma automtica. >>> float("325") 325.0 Python puede convertir algunas cadenas en un dato de tipo float. Ejemplo de un error:

>>> float("Hola") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for float(): Hola

Chr
>>> chr(90) 'Z' En informtica, un caracter o character, representa al cdigo correspondiente a una de las teclas en el teclado de la computadora, por eso, nos imprime 'Z' ya que el caracter 90 del teclado es la letra Z. Para aclarar esta idea, podemos hacer: >>> chr(128) '\x80' El resultado es raro para nosotros, pero si hacemos: >>> print chr(128) ? Ahora vemos que el carcter 128 corresponde en el teclado al smbolo (?) Esto pasa porque siempre que utilizamos la funcin print de python para mostrar un dato en pantalla, este se ve obligado a convertir el dato en un tipo string o cadena de texto (un texto) para poder mostrarlo.

De modo que, un caracter es cualquier signo tipogrfico, puede ser una letra, un nmero, un signo de puntuacin, un espacio, etc. Nota: Para hacer lo contrario, utilizamos la funcin ord(), que a partir de un carcter, nos devuelve su cdigo chr. >>> chr(90) 'Z' >>> ord("Z") 90

Str >>> str(150) '150' >>> str(150.25) '150.25' Un string es una cadena de caracteres, no es nmero. >>> str(1500) + " Km" '1500 Km' En este ltimo ejemplo queda claro que str(1500) no es un nmero ya que no se puede sumar nmeros ms letras, las operaciones siempre se hacen entre datos del mismo tipo. El tipo de datos string es tan importante y utilizado en informtica, que python cuenta con una clase especial para manejar cadenas de caracteres, ms adelante trabajaremos con ella.

Bool
>>> a = bool(1) >>> print a True

Para python, slo 0 es False, todo lo dems es True.


>>> a = bool("x") >>> print a True

Cualquier cosa que no est vaca es True.


>>> a = "hola que tal?" >>> b = bool(a) >>> print a hola que tal? >>> print b True

Cualquier cosa vaca es False.


>>> a = "" >>> b = bool(a) >>> print a >>> print b False Ejemplo: >>> a = 90 >>> int(a) 90 >>> float(a) 90.0 >>> chr(a) 'Z' >>> str(a) '90' >>> bool(a) True

Operaciones con tipos de datos

En la seccin anterior mostramos algunos tipos de datos que maneja Python junto con su forma de manejo y operacin. Estas reglas establecidas dentro del lenguaje son esenciales para la estructura de un programa, ya que dentro de este se manejan muchas declaraciones de variables las cuales obedecen a cierto tipo de dato especfico. Ahora veremos las operaciones, los operadores que hemos utilizado dependen del tipo de operacin a realizar con los datos. Si vamos a hacer operaciones matemticas, los operadores son:

Aritmticos

Lgicos y Booleanos

Relacionales

Aplicacin de los operadores El operador de mdulo (%) no hace otra cosa que devolvernos el resto de la divisin entre los dos operandos. Ejemplo >>> 27 % 5 2 >>> 25 % 5 0

La diferencia entre divisin y divisin entera no es otra que la que indica su nombre. En la divisin el resultado que se devuelve es un nmero real, mientras que en la divisin entera el resultado que se devuelve es solo la parte entera. >>> 3.0 / 2.0 1.0 No obstante hay que tener en cuenta que si utilizamos dos operandos enteros, Python determinar que queremos que la variable resultado tambin sea un entero, por lo que el resultado. Ejemplo >>> 3 / 2 1 >>> 3 // 2 1.

Si quisiramos obtener los decimales necesitaramos que al menos uno de los operandos fuera un nmero real, bien indicando los decimales.

Operadores a nivel de bit Son poco utilizados estos operadores ya que estos operadores actan sobre las representaciones en binario de los operandos. Por ejemplo: >>> 3 & 2 10 Lo que se muestra es un and bit a bit entre los nmeros binarios 11 y 10 (las representaciones en binario de 3 y 2). El operador and (&), del ingls y, devuelve 1 si el primer bit operando es 1 y el segundo bit operando es 1, luego el resultado de aplicar and bit a bit a 11 y 10 sera 10, o lo que es lo mismo, 2 en decimal (el primer dgito es 1 para ambas cifras, mientras que el segundo es 1 slo para una de ellas). El operador or (|), del ingls o, devuelve 1 si el primer operando es 1 o el segundo operando es 1 El operador xor u or exclusivo (^) devuelve 1 si uno de los operandos es 1 y el otro no lo es. El operador not (~), del ingls no, sirve para negar uno a uno cada bit; es decir, si el operando es 0, cambia a 1 y si es 1, cambia a 0. Por ltimo los operadores de desplazamiento (<< y >>) sirven para desplazar los bits n posiciones hacia la izquierda o la derecha.

Operaciones con cadenas Las cadenas no son ms que texto encerrado entre comillas simples (cadena) o dobles (cadena). Dentro de las comillas se pueden aadir caracteres especiales escapndolos con \, como \n, el carcter de nueva lnea, o \t, el de tabulacin. Una cadena puede estar precedida por el carcter u o el carcter r, los cuales indican, respectivamente, que se trata de una cadena que utiliza codificacin Unicode y una cadena raw (del ingls, cruda). Las cadenas raw se distinguen de las normales en que los caracteres escapados mediante la barra invertida (\) no se sustituyen por sus contrapartidas. Esto es especialmente til, por ejemplo, para las expresiones regulares. Ejemplo:

unicode = u"" raw = r"\n"

Tambin es posible encerrar una cadena entre triples comillas (simples o dobles). De esta forma podremos escribir el texto en varias lneas, y al imprimir la cadena, se respetarn los saltos de lnea que introdujimos sin tener que recurrir al carcter \n, as como las comillas sin tener que escaparlas. Las cadenas tambin admiten operadores como la suma (concatenacin de cadenas) y la multiplicacin.

a = "uno" b = "dos"

c = a + b # c es "unodos" c = a * 3 # c es "unounouno"

BOOLEANOS El tipo booleano slo puede tener dos valores: True (cierto) y False (falso). Estos valores son especialmente importantes para las expresiones condicionales y los bucles, como veremos ms adelante. En realidad el tipo bool (el tipo de los booleanos) es una subclase del tipo int. Puede que esto no tenga mucho sentido para t si no conoces los trminos de la orientacin a objetos, que veremos ms adelantes, aunque tampoco es nada importante. Estos son los distintos tipos de operadores con los que podemos trabajar con valores booleanos, los llamados operadores lgicos o condicionales. Ejemplo: >>> True and True True >>> True and False False >>> False and true False >>> False and False False

Bibliografa

http://docs.python.org/library/functions.html http://docs.python.org/library/types.html http://es.wikipedia.org/wiki/Unicode Programacin Python 3, Mark Summenrfield Python. Crear - Modificar - Reutilizar, Jim Knowlton Programming Python, Mark Lutz

Das könnte Ihnen auch gefallen