You are on page 1of 8

APRENDIENDO PYTHON DESDE CERO PARTE 3 ( numeros y operaciones) En python los datos toman la forma de objetos, los tipos

de objetos que trae Pyhton pre-definidos son NUMEROS, STRINGS, LISTAS, DICCIONARIOS, TUPLAS y FILAS. Alli en la tabla vemos los tipos de objetos predefinidos y ejemplos de los mismos en esta parte empezaremos a ver el primer tipo que son los NUMEROS y las operaciones entre ellos.

NUMEROS Es el mas comun de los objetos, y el que uno esta mas familiarizado, uno puede llevar la cuenta bancaria, medir distancias, alturas, y demas cuentas con numeros de diferentes tipos. Python soporta los tipos numericos usuales como ENTEROS y PUNTO FLOTANTE, LONGS, HEXA, OCTALES, COMPLEJOS que veremos a continuacion. Python soporta: ENTEROS NORMALES (1234, -23,0) ENTEROS LARGOS o LONG INTEGERS (9999999999999999999L) PUNTO FLOTANTE (1.23, 3.14e-10, 4E210, 4.0e+210) OCTAL Y HEXA (0177, 0x9ff, 0XFF) NUMEROS COMPLEJOS (3+4j, 3.0+4.0j, 3J) EXTENSIONES PROVISTAS PARA REALIZAR OPERACIONES Python provee un set de herramientas para procesar los numeros y realizar operaciones.

Aqu podemos ver una tabla con los mas usados

Como lo mejor es ver las operaciones en accion abramos la ventana interactiva de python para tipear algunos ejemplos. OPERACIONES BASICAS Y VARIABLES A pesar de lo flexible que es python hay algunas reglas que debemos respetar, si usamos una variable en una operacin, esta debe tener asignado anteriormente algun valor, si no no podra realizar la operacin Por ejemplo si yo tipeo a= c+ 5 y apreto ENTER

Me dice el error, que la variable c no esta definida, y logicamente no le he asignado ningun valor antes de llegar a la operacin por lo cual no puede realizarla.

Ahora asigno por ejemplo c = 67 y luego si podra realizar la operacin con dicha variable. Realmente la variable c no existia en el programa, hasta que no le asign un valor, en el mismo momento que le asigno un determinado valor comienza a existir y puede ser usada en operaciones. Si vuelvo a asignar un nuevo valor a c se perdera el anterior

Asignemos estos valores para los proximos ejemplo: a=3 b=4

ahora tipeemos >>> a+1, a-1 reemplazara a por 3 y hara las operaciones 3 +1 y 3-1

y nos devuelve (4, 2) En el siguiente ejemplo, usando las mismas asignaciones anteriores de a y b, multiplica b por 3 y b lo divide por 2.

En el siguiente ejemplo, suma 2.0 mas 4.0 y tambien 2.0 lo eleva a la 4

Vemos que las posibilidades de operaciones numericas son muchas y en el caso de estos ejemplos, Python interpreta los resultado como TUPLAS, porque se los entregamos separados por comas, lo cual es la separacion para las partes que componen una TUPLA la cual veremos en detalle mas adelante. Realmente no necesitamos declarar variables como en C, decirle al programa si dicha variable va a ser integer, long, string o algun tipo en especial, solo debemos asignarle un valor y con eso la variable esta en funcionamiento, inclusive una variable que tenia enteros por ejemplo, si la asignamos nuevamente, puede cambiar a string o otro tipo.

Alli le asignamos a c el valor nueve y luego le asignamos la string pepe, y si vemos el valor que quedo asignado es el ultimo, la string pepe. Hagamos otro ejemplo con las mismas asignaciones anteriores, aqu divide 4 / 2 y luego le suma 3, dano como resultado 5.

En el siguiente ejemplo, se ejecuta primero 2.0 + 3 porque esta entre parentesis y luego realiza la division de b sobre lo anterior, y coloca el resultado como punto flotante con decimales, ya que siempre que algun miembro de una operacin se expresa aomo punto flotante, el resultado lo obtendremos en punto flotante tambien.

El comando print que trabaja redondeando lo que muestra, el resultado completo es:

Realmente lo que se redondea es el resultado mostrado, porque la variable continua teniendo el valor completo, asi el programa puede seguir operando con valor preciso.

Si vemos el resultado de esta operacion

al dividir por 3.0 la operacin pasa a tener resultado de punto flotante y el resultado se asigna a la variable g. g vale 0.33333333333333331 al imprimirse print g redondea a 0.333333333333 igual se mantiene el valor completo en la variable g para el uso del programa.

Lo mismo que expresamos sobre el punto flotante se cumple en la division. Si hicieramos 1 dividido 3, como ambos son enteros la operacin se realiza como una division de enteros cuyo resultado muestra solo la parte entera del mismo, ahora como ya vimos si uno de los operadores esta expresado en forma de punto flotante, su resultado ser mostrado como tal en punto flotante con decimales. 1er caso (division de enteros = resultado entero)

2do caso (division con uno o mas miembros siendo punto flotante = resultado punto flotante)

Existe ademas de la division comun representada por el simbolo / que vimos hasta ahora, una division especial que se representa con dos // y que a diferencia de la anterior, sea cual sea el tipo de numero utilizado en ambos miembros, sea entero o de punto flotante, siempre pone a cero los decimales.

En el caso de dos enteros no cambia nada el resultado sera la parte entera del mismo.

Ahora si uno de los numeros es de punto flotante, vemos que la division comun, muestra el resultado correcto con decimales, la otra division // pone a cero los decimales.

OPERACIONES CON BITS

SHIFT Podemos hacer shift de los bits de una variable, si asignamos a x=1 que en binario es 0001 y luego hago shift 2 lugares hacia la izquierda x << 2 movera los bits dos lugares hacia la izquierda dando 0100 que es 4

Podemos tambien realizar shift moviendo hacia a la derecha >> , tambien podemos hacer operaciones xor, and, not en la forma usual entre binarios. OR En este ejemplo realizamos la operacin OR con el simbolo | que representan la operacin.

x= 1 (0001 binario) y=4 (0100 binario) OR ( | ) operara bit a bit segn su tabla de verdad y nos dara como resultado 5.

Donde A y B son los bits de una misma columna y X sera el resultado 0001 0100 0101 Vemos que dara 0101 binario o sea 5 decimal

AND Tambien existe la operacin AND entre bits

En este caso si hacemos AND (&) entre 1 y 4, el resultado sera cero 0001 0100 0000 escribimos en python x&y

XOR Tambien existe la funcion OR EXCLUSIVA o XOR ( ^ )

En python se representa con el simbolo ^

En la parte siguiente completaremos el tema numeros y operaciones para no ir demasiado rapido y fijar bien los conocimientos. Hasta la parte 4 Ricardo Narvaja