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

Python: Tipos Basicos y Operadores

por banyut
sábado, 07 de junio del 2008 a las 01:35
guardado en

Ya hacia tiempo que no posteaba, tenia un proyecto que entregar y el tiempo apremiaba, ahora más relajado, volvemos a la carga.

Hay tantas cosas que compartir que no se exactamente por donde empezar, así que tras darle muchas vueltas, he decidido publicar unas guías, curso o apuntes, llámese como se quiera, sobre PYTHON.

Python es un lenguaje de programación relativamente joven, creado por Guido van Rossum en los años 90 y según las malas lenguas, creado en un momento de aburrimiento (vaya pasatiempo), con las siguientes características.

  • Es un lenguaje interpretado.

  • Tipado dinámico.

  • Multiplataforma

  • orientado a objetos.

  • Permite varios estilos de programación:

  • orientada a objetos.

  • programación estructurada.

  • programación funcional.

Doy por echo que todo el mundo tiene instalado el python, probar escribiendo python en la consola, si lo tienes instalado el prompt te saldrá algo parecido a esto.

python2

Hemos entrado en el interprete de python, con Ctrl+D volveremos a la consola.

Con esto es más que suficiente para seguir el curso, al menos hasta que toquemos las interficies gráficas, de todas formas yo aconsejo que instaléis un par de paquetes más, que nos harán la vida un poco más fácil.

Sudo aptitude install python-wxtools python-opengl ipython

Hemos instalado dos interpretes más, para verlos teclear en consola:

  • ipython

  • pycrust o pyshell

     

Quedaros con el que más os guste.

Tipos Básicos

Podemos resumirlos en tres tipos Numéricos, texto y booleanos.

Los datos numéricos los podemos dividir a su vez en tres tipos más:

  • Enteros: números positivos o negativos sin decimales.

    3, -2, 5, 110000, 45L, etc.

  • Coma flotante o reales: números positivos o negativos con decimales.

    3.555, -3.0, -6666.7, 0.1e-3, etc

  • Complejos: son los que tienen parte imaginaria, si no sabes cuales son no te preocupes mucho, posiblemente no te hagan falta nunca.

    3+4j, (2+j)

Las cadenas (texto) van encerradas entre comillas simples o dobles, y pueden utilizar la codificación unicode o raw (esto ya lo veremos más adelante).

“una cadena”, u”texto unicode”, r”texto raw”, 'hola', etc.

Como podéis preceder una cadena de 'u' o de 'r', la hace utilizar una codificación o otra.

El texto también puede ir encerrado entre triples comillas, esto permite añadir a saltos de línea.

python1

 

Los Booleanos, estos son tan faciles como útiles, solo aceptan dos valores

  • True

  • False

Operadores aritméticos

Suma: +

Esta operación requiere poca explicación, todo el mundo sabe lo que hace, pero añadiremos un par de comentarios, queremos empezar a hacer bien las cosas y siguiendo el espíritu de python, como una buena costumbre o como norma si lo preferís, siempre dejaremos un espacio entre el operador y los datos.

3 + 2 = 5, (3+2j) + (1+5j) = (4+7j), 4.67 + 67.3=71.70, 1 + 23.45=24.45

En las cadenas de texto la suma significa concatenación

hola” + “adios” = “holaadios”, “Juan“ + “, “ + “Pedro” = “Juan, Pedro”

Veamos esto en la consola.

Resta: -

Tampoco merece que perdamos el tiempo con este operador que todos sabemos como funciona. Solo destacar que no existe esta operación en los datos tipo texto.

3 – 2 = 1, -3 – 4 = -7, (3+2j) - (1+5j) = (2-3j)

Multiplicación: *

3 * 2 = 6, -3 * -2 = 6

En las cadenas tiene otro comportamiento. Aquí lo que hace és repetirlas.

>>> nom = “Juan”

>>> cincoJuanes = nom * 5

>>> print cincoJuanes

JuanJuanJuanJuanJuan

>>> letra = 'a'

>>> print letra * 3

aaa

División: /

Tenemos dos tipos de divisiones, La división i la división Entera. La diferencia esta en que la primera el resultado que devuelve es del tipo real, en el segundo es del tipo entero.

División

>>> (3+2j) / (1+5j)

(0.5-0.5j)

>>> print 3 / -2.4

-1.25

>>> print 2.4 / 3.4

0.70588235294117652

División entera

>>> 2.4 // 1

2

>>> 7 // 2

3

>>> 8 // 4

2

En los ejemplos hemos omitido algo, fijaros en esto.

>>> 7 / 2

3

Que ha pasado? Pues sencillo, python ha detectado la división entre dos enteros, por lo tanto supone que el resultado tiene que ser del mismo tipo. Para evitar este comportamiento actuaremos de la siguiente forma.

>>> 7.0 / 2

3.5

>>> float(7) / 2

3.5

Exponente: **

Eleva un número a una potencia.

>>> print 5 ** 2

25

>>> (1-4j) ** 2

(-15-8j)

>>> b = 4 ** 5

>>> print b

1024

Módulo: %

Nos devuelve el resto de una división.

>>> 7 % 3 # devuelve 1

>>> 10 % 2 # devuelve 0

 

Operadores a nivel de bit

Este tipo de operadores es muy importante, aunque en los inicios de la programación se suelen omitir, tal como se coge experiencia se le encuentran miles de usos que nos facilitan enormemente la vida.

Estamos acostumbrados a operar con números en base 10 ( dígitos del 0 al 9), el sistema binario opera en base 2 (dígitos 0 y 1), en definitiva una secuencia de 0 y 1, los cuales cogen un valor según la posición en la que se encuentran. Cada 0 o 1 es lo que llamamos bit, y es sobre estos bits sobre los que actúan los operadores de esta sección.

AND: &

1 si los dos operadores son 1, 0 en caso contrario.

>>> 3 & 2 # 011 & 010 = 010

2

>>> 2 & 1 # 010 & 001 = 000

0

>>> 7 & 2 # 111 & 010 = 010

2

 

OR: |

devuelve 1 si cualquiera de los dos bits es 1, así devolver 0 solo si los dos son 0.

>>> 3 | 2 # 011 | 010 = 011

3

>>> 2 | 1 # 010 | 001 = 011

3

>>> 7 | 2 # 111 | 010 = 111

7

 

XOR: ^

devuelve 1 solo si únicamente uno de los dos bits es 1, en cualquier otro caso devuelve 0.

>>> 3 ^ 2 # 011 ^ 010 = 001

1

>>> 2 ^ 1 # 010 ^ 001 = 011

3

>>> 7 ^ 2 # 111 ^ 010 = 101

5

 

NOT: ~

Invierte o niega el valor del bit, si es 0 lo vuelve 1 y si es 1 lo vuelve 0.

>>> ~ 2 # ~ 010 = 101

5

>>> ~ 1 # ~ 001 = 110

6

>>> ~ 7 # ~ 111 = 000

0

 

Desplazamiento: << o >>

Desplaza los bits rellenando con 0, a la derecha o la izquierda según el operador utilizado. Cada desplazamiento multiplica o divide el número por 2.

>>> 2 << 2 # 010 << 2 = 01000

8

>>> 4 << 1 # 100 << 1 = 1000

8

>>> 7 << 3 # 111 << 3 = 111000

56

>>> 2 >> 2 # 010 >> 2 = 000

5

>>> 4 >> 1 # 100 = 010

2

>>> 7 >> 3 # 111 >> 3 = 000

0

 

Operaciones Booleanas.

 

Un tipo booleano solo puede tener dos valores, True y False. Algunas de las operaciones utilizadas pueden parecerse a las operaciones que hemos visto en la sección anterior, aunque nada más lejano.

Pare esta sección tendremos dos expresiones cualquiera de tipo boolean que llamaremos a y b.

AND:

True si a y b son True, en cualquier otro caso Falso.

>>> True and True # es True

>>> True and False # es False

>>> False and True # es False

>>> False and False # es False

 

OR:

True si a o b es True, solo sera False cuando a y b sean los dos False.

>>> True and True # es True

>>> True and False # es True

>>> False and True # es True

>>> False and False # es False

 

NOT:

Invierte el valor.

>>> not True # es False

>>> not False # es True

>>> not not True # es True

 

Un valor booleano puede ser el resultado de una expresión.

>>> a == b # True si a y b son iguales

>>> a != b # True si a es distinto de b

>>> a < b # True si a es menor que b

>>> a > b # True si a es mayor que b

>>> a <= b # True si a es menor o igual que b

>>> a >= b # True si a es mayor o igual que b

>>> 4 == 5 # False

>>> 3 > 2 # True

>>> “a” == “a” # True

Mensajes relacionados

Deja tu comentario

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 5 meses. En ella habla sobre Python.

Aún no hay ningún comentario.

Tu podrías dejar el primero.

Temas relacionados

Login

Comentarios

Restaurar el audio en UBUNTU (marru)
Gracias. Me has salvado la vida con el tutorial. Saludos. Marru...(17 nov)
Convertir Ubuntu Hardy en un Mac OSX Leopard (maxi)
me quedo la pura cagá en el pc ):...(01 nov)
Restaurar el audio en UBUNTU (Rafael Aviles)
Gracias banyut. Tu apor...(16 oct)
Convertir Ubuntu Hardy en un Mac OSX Leopard (GUbuntu.es » Artículos de la semana 40 (29 - 5 de octubre))
[...]trola-temperatura-tus-discos-duros-120917">hddtemp, controla la temperatura de tus discos duros...(07 oct)
hddtemp, controla la temperatura de tus discos duros (GUbuntu.es » Artículos de la semana 40 (29 - 5 de octubre))
[...]as semanas (un poco tarde esta), aquí os dejo artículos de la blogosfera que me han parecido in...(07 oct)

Más comentados

Convertir Ubuntu Hardy en un Mac OSX Leopard (7)
He encontrado un Post en el que de una manera muy detallada explicaban como tunear nuestro Hardy ...
Copias de seguridad en UBUNTU (crontab, rsync, dd) (5)
Hoy abordaremos el tema de las copias de seguridad. El objetivo es montar dos tipos de copias, por ...
Restaurar el audio en UBUNTU (3)
Hay veces que sin saber que es lo que hacemos exactamente, nos cargamos el audio del sistema, no se ...
INSTALACION Y PUESTA A PUNTO DE UBUNTU (3)
Una de las cosas que eche de menos cuando empecé a usar linux, fue como ponerlo a punto, si bien la ...
romper el viculo de las imagenes en openOffice. (1)
Bueno hoy tocaremos algo de ofimatica. En un principio era muy reacio a introducir entradas como ...

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