sábado, 2 de febrero de 2013

Aprenda Python en media hora... o casi

Pequeño resumen de la principales funcionalidades del lenguaje python.
Tipos de datos
Tipo Clase
str Cadena
unicode Cadena
list Secuencia
tuple Secuencia
set Conjunto
frozenset Conjunto
dict Mapping
int Número entero
long Número entero
float Número decimal
complex Número complejo
bool Booleano
Operaciones aritméticas
>>> # suma
... 3+5
8
>>> # resta
... 3-4
-1
>>> # multiplicacion
... 2*3
6
>>> 2.0*3
6.0
>>> # division
... 3/2
1
>>> 3.0/2
1.5
>>> # cociente
... 3//2
1
>>> 3.0//2
1.0
>>> # resto
... 3%2
1
>>> 3.0%2
1.0
>>> # potencia
... 3**2
9
>>> 3**0.5
1.7320508075688772
>>> pow(3,2)
9
Algunas funciones matemáticas
>>> # valor absoluto
... abs(-3.0)
3.0
>>> # complejos
... complex(2,3)
(2+3j)
>>> complex(2,3)*complex(3,4)
(-6+17j)
>>> a=complex(3,5)
>>> a.real
3.0
>>> a.imag
5.0
>>> # maximo y minimo
... max(3,45,6,7)
45
>>> min(32,23,2,13,4.3)
2
>>> # redondeo
... round(34.5)
35.0
>>> round(35.345,1) # debería dar 35.3 un decimal
35.299999999999997



La clase math
Es importante importar la clas math antes de operarar con ella
>>> import math
>>> # raiz cuadrada
... math.sqrt(2)
1.4142135623730951
>>> # PI
... math.pi
3.1415926535897931
>>> # funciones trigonométricas
... math.sin(math.pi)
1.2246063538223773e-16
>>> # logaritmos
... math.log(11)
2.3978952727983707


Los tipos de datos se pueden resumir en esta tabla:

Entramos en la consola de python con el comando
$ 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.
>>>
Ahora vamos ejecutando varias operaciones para ver el resultado:


Tipico “hola mundo”. Despliega un texto

#!/usr/bin/python
print "hola mundo"
exit()

Operaciones matemáticas. Con “raw_imput” le un carácter desde el teclado y lo asigna a la variable
y entonces procedemos a hacer la operación

#!/usr/bin/python
print "Intorduce un numero:"
a=raw_input()
print "Intorduce un numero:"
b=raw_input()
c=int(a)+int(b)
print "El resulatdo es:"
print(c)
exit()

supongamos que hiciéramos
a=3
b=3
c=a+b
print c
el resultado seria:
33 ya que concatenaría los dos dígitos, la diferencia esta en que en la linea de la operación agregamos el prefijo int de integer (mirar tipos de datos) y así interpreta los caracteres como números enteros. Para el resto de operaciones aritméticas del tipo suma, resta, multiplicación y división, bastaría con cambiar el operador (+,-,*,/)

Para otras operación, deberemos importar la librería “math”. Ejemplo, raiz cuadrada de un numero:
#!/usr/bin/python
import math
print "Intorduce un numero:"
a=raw_input()
r=math.sqrt(int(a))
exit()

Si englobamos lo poco acumulado ya podríamos realizar lo siguiente:
Script que calcule el numero de la sucesión de fibonacci dado un numero:


#!/usr/bin/python
print "numero a calcular"
a=raw_input()
import math
f=(1/math.sqrt(5))*(((((1+math.sqrt(5))/2)**int(a))-(((1-math.sqrt(5))/2)**int(a))))
print(f)
exit()

Instrucciones condicionantes. Para estos caso la instrucción if resulta mucho mas sencilla que en la mayoría de los lenguajes, tenemos que su sintaxis es tán simple como

if [condición]:
[sentencia]
else:
[sentencia]
*notese los dos puntos despues de la condicion y del else
para ejemplificar esto tenemos otro clásico, el mayor de dos numero:

#!/usr/bin/python
print "introduce un numero"
a=raw_input()
print "introduce un numero"
b=raw_input()
if float(a)>float(b):
print "el mayor es "
print a
else:
print "el mayor es "
print b
exit()

los if anidados los retomaremos luego...

Bucles for
los que utilizamos para ejecutar una sentencia para cada elemento y tenemos algunos ejemplos

Por ejemplo dandole una lista
for x in [1,5,10,15,20]:
print x
de este modo en “x” se imprimirían lso valores contenidos en la lista por cada pasada

Para numeros contenido en un rango. En este ejemplo le estamos indicando que imprima en numero los valores de 3 a 11

for numero in range(3,11):
print numero


Estableciendo el salto, indicándolo como el tercer parámetro en el rango

<<for [variable] in range([inicio],[fin],[salto]):
print "---------------------------------------"
for y in range(0,70,7):
print y


Este código nos imprimiría los números de 7 en 7 antes de llegar al 60

Ahora bien si juntamos lo que tenemos hasta ahora podemos por ejemplo elaborar un script que nos imprima la serie de fibonacci usando un bucle:

#!/usr/bin/python
import math
for x in range(0,30):
fx=(1/math.sqrt(5))*(((((1+math.sqrt(5))/2)**int(x))-(((1-math.sqrt(5))/2)**int(x))))
print fx
exit()

Bucles While
Para repetir una instrucción mientras una condición no se cumpla podemos recurrir a la instrucción while, teniendo que:
whyle [condicion]:
[sentencia]
Tomemos como ejemplo, desplegar los numero del 0 al 9 y veamos la salida que nos da.
#!/usr/bin/python
i = 0
while (i <= 9):
print i
i=i+1
print "Adios!"
exit()

Funciones
Las funciones se definen al principio del script y luego son llamadas, por ejemplo tenemos que:

def [nombre_de_la_funcion]([parametros]):
[sentencia]
y si por ejemplo quisiéramos realizar un script que nos realice la suma y resta de dos números habiéndolos capturado una sola vez, podemos recurrir ea las funciones:

#!/usr/bin/python
print "FUNCIONES"
def suma(a,b):
c=float(a)+float(b)
print "suma:"
print c
def resta(a,b):
c=float(a)-float(b)
print "resta:"
print c
print "Entra numero:"
a=raw_input()
print "Entra numero:"
b=raw_input()
suma(a,b)
resta(a,b)
exit()

ya hemos hablado de la clase math, y como esa hay otras tantas, otro ejemplo es la clase datetime la cual, obviamente hace referencia a la hora y fecha del sistema, ejemplo:
#!/usr/bin/python
from datetime import*
print datetime.today()
exit()

Resultado:
2013-02-03 01:52:44.535747


Para finalizar esta primera parte tenemos la librería “import os” para hacer llamadas al sistema, es muy util para ejecutar otros scripts a partir de uno o hacer llamada a funciones ya preestablecidas. Para ejemplificar recordemos el script anterior

#!/usr/bin/python
from datetime import*
print datetime.today()
exit()

#!/usr/bin/python
import os
print "muestra la hora del sistema"
os.system('clear') <......comando que limpia la pantalla
os.system('./time.py') <.......llama el script que nos da la hora del sistema
raw_input() <.......espera una tecla para continuar
os.system('clear') <.......limpia la pantalla
exit()

Fuente:
Python para todos - Raúl González Duque

No hay comentarios:

Publicar un comentario