la elegancia en la programación - python

12

Click here to load reader

Upload: alexanderae

Post on 13-Jun-2015

2.345 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: La elegancia en la programación - Python

Python: La elegáncia en la programaciónpor Erik# - [email protected] – Erik Caballero

Python es un lenguaje de programación creado por Guido van Rossum en el año 1990.Es un lenguaje de programación script, no es necesario un compilador para poder utilizarlo, sino un interprete, actualmente, estan activepython, python.org..., en este lenguaje, lo más destacado es la elegancia, la limpieza y el manejo de sangrías que usas.

Python actualmente compite con TCL, Perl, Scheme, Java y Ruby, grandes competidores, y la actual versión es la 3.0, es la ultima versión que han sacado, los desarolladores son python software foundation.

Y la pregunta más propuesta sera..., que se puede hacer con python.Pues veamos, con python puedes hacer desde un simple saludo:

print “Hola mundo”

Hasta juegos, programas con graficas, clientes de mensajeria instantanea...Actualmente, la nueva versión de aMsn esta desarollada con python y utilizando el protocolo msnp, antes usaban TCL.

Python es Orientado a objetos (POO), programación estructurada y programación funcional.

Espero que te guste el apasionante mundo de python, nostros en este “libro, documento, paper, curso, tutorial, manual...” como querais llamarlo no pondremos índice.Espero que eso no sea un problema.

Page 2: La elegancia en la programación - Python

1.Descarga

Antes que nada, decir de donde podeis descargarlo, muchos tal vez soys novatos y estais empezando por eso espero que podais empezar rapido y no quedaros con todo el papeleo y leer...

ActivePython (El que actualmente uso):Web:www.activestate.comSeccion:www.activestate.com/Products/activepython/Descarga win32-x86 (Recomendada):http://downloads.activestate.com/ActivePython/windows/2.6/ActivePython-2.6.0.0-win32-x86.msi

Python.Org (Recomendado al igual que activepython):Web:www.python.orgDescargas:www.python.org/download/Descarga directa(Recomendada):http://python.org/ftp/python/2.6.1/python-2.6.1.msi

Python 3:http://python.org/ftp/python/3.0/python-3.0.msi

2.Ejecutar

Para ejecutar python, desde windows, si hacemos dos clicks al archivo, aveces se podra abrir si se usa un system(“pause”), o desde CMD.exe o CMD, escribiis: python mi_archivo.py o mi_archivo.py

Y desde linux vais al terminal y escribiis: python mi_archivo.py

3.Guardado

En python, siempre se guarda con la extensión: .py o .pyw, podeis elegir, acordaos.

Page 3: La elegancia en la programación - Python

5.Variables

En python, las variables se pueden definir de distintas maneras, yo os voy a enseñar 5 tipos de variables, las de caracteres (string), las unicode (string), las booleanas (true or false), la enteras (int) y las comas flotantes (float).

Para declarar las variables de caracteres hariamos algo sencillo tipo PHP:

python = "lenguaje de programacion"

Como veis, usamos las comillas simples para poner el contenido de caracteres.Luego las unicode seria lo mismo, pero con una u:

python = u"lenguaje de programacion"

Luego tendriamos las booleanas:

soyguapo = "TRUE"

Despues las enteras:

anio = 365

y por ultimo las float:

anio = 365.6

Acronimos de las variables:Los acronimos, mas adelante nos serviran de bastante, aqui os los dejo:

Variable de caracteres = strVariable de caracteres unicode = unicodeVariable de enteros = intVariable booleanas = boolVariables flotantes = float

Como veis, las variables cambian bastante, aunque son sencillas.Estas, son las que utilizaremos durante el curso, tal vez las unicodes ni las tocamos, pero interesante que lo supierais.

Page 4: La elegancia en la programación - Python

6.Flujos de entrada

Los flujos de entrada nos servira para rellenar una variable y asi tener en cuenta la opcion del usuario segun como queramos hacer el script.Nosotros usaremos la funcion:

input();

la sintaxis seria así:

variable=input();

aunque, como sabemos, en batch, esta la opcion de set /p variable=Introduce un numero: (por ejemplo), nosotros no somos menos, podriamos hacer algo así:

variable=input("Introduce un numero: ");

Y asi, saldria nuestro texto y ademas almacenariamos la variable.

Convertir la variable que rellena el usuario a lo que nosotros queramos sera facil, aunque podria darnos errores, pero yo os lo pongo:

variable=input();str(variable)

Asi, convertiriamos el resultado de la variable a una con caracteres.

7.Flujos de salida

Para mostrar un contenido en la pantalla usaremos el comando print, como sabreis python tambien es un lenguaje desarollado a partir de perl osea así a partir de c.

print "Hello World!"

Page 5: La elegancia en la programación - Python

8.Condicional IF

Ahora, vamos a aprender a usar el condicional IF, if es un condicional que si la condicion es verdadera se cumple una sentencia y si es falsa se cumple otra diferente.

Veamos la sintaxis:

ifcondicion sentenciaelse: sentencia

Y la sintaxis usando elseif seria:

if condicion: sentenciaelif condicion: sentenciaelse: sentencia

Como veis, usamos una abrevación: elif.

Ejemplo en vivo:

x = 9if x==9: print 'Si, la variable x contiene el numero 9'else: print 'No, la variable x no contiene el numero 9'

PD: Acordaros de que teneis que poner 1 espacio en las sentencias para poder usarlas bien, sino saldra error.

Page 6: La elegancia en la programación - Python

9.Operadores

Como siempre, tienen que salir los operadores para continuar haciendo nuestras aplicaciones:

Operadores basicos:

+ Sumar (Matemático)- Restar (Matemático)* Multiplicación (Matemático)M/N División (Matemático)** elevado a la (Matemático)>> Mover lugares a la derecha (Binario)« Mover lugares a la izquierda (Bitwise)~ Complemento de (Binario)& AND binario (Binario)| OR binario (Binario)< Menor que...> Mayor que...== igual que...! operacion negativa

10.Nuestra primera aplicacion

Nuestra primera aplicacion sera un codigo que identifica si el numero es par o impar:

num = input("Introduce una cifra: ")if num / 2: print num, "es par"else: print num, "es impar"

Page 7: La elegancia en la programación - Python

11.While

Ahora vamos a aprender el bucle while, el bucle while es un bucle al cual hasta que no se cumple una condicion no para de repetirse las mismas sentencias.

Sintaxis:

while condicion: sentencia

y aqui un ejemplo:

amigos = 12while amigos < 19: amigos = amigos + 1 print "Ya tienes", amigos, "amigos"

12.For

El bucle for es un bucle como el while, pero el cual este va por condiciones numericas.Sintaxis:

for elemento in secuencia: sentencia

Y aquí un ejemplo

numeros = ['1', '2', '3']for n in numeros: print n

Page 8: La elegancia en la programación - Python

13.Range

Es una funcion secuencial la cual expone numeros, la sintaxis es asi:

print range(numeros)

Ejemplos:

print range(11)

Esto mostraria:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Tambien puedes elejir entre diferentes numeros:

print range(6, 9)

14.Pausando nuestro proyecto (Solo windows)

Antes de nada, deciros que podemos iniciar python como si fuera un ejecutable, solo tenemos que ir añadiendo el sistema de pausa para que podamos interactuar sin que se nos cierre el proyecto como si fuera un codigo C o Batch...

Primero, tenemos que importar el modulo os, para importarlo escribimos:

import os

Una vez hecho esto, podemos usar la funcion escribiendo:

import osos.system("pause")

Y nuestro proyecto se pausara de forma inmediata, al igual que batch, podemos usar funciones como taskkill, del, >>, more ...Espero que os sirva para poder hacer una forma mas ejecutable vuestros .py

Page 9: La elegancia en la programación - Python

15.Importar una funcion especifica

Para importar funciones especificas de un modulo, usamamos la funcion from import.Sintaxis:

from <modulo> import <funcion>

Por ejemplo, de el modulo os, queremos importar pause:

from time import sleep

No encontre ningun ejemplo mejor, ya que ahora no se me ocurren muchos modulos, pero al caso, ahora no necesitamos hacer:

time.sleep(5)

ahora podemos hacer:

sleep(5)

y listo y simple, podeis utilizarlo tambien con modulos como, os o msnp ...

16.Raw_input

¿Que tiene de diferente raw_input a input?Los caracteres, con input no puedes introducir todos los caracteres del alfabeto ASCII que existe actualmente, y con raw_input si, podras meter hasta @, ., '', ', !, ¡, ?, ¿, : y demás...

Ejemplos:

Con input esta daria error:

msn = input("Introduce tu msn: ")

con raw_input no, porque si tenemos que introducir nuestro msn usaremos el caracter @ y no podremos hacerlo funcionar, para eso usamos:

msn =raw_ input("Introduce tu msn: ")

Page 10: La elegancia en la programación - Python

17.Lambda

Lambda, es una funcion que sirve para poder crear nuestra propia funcion, al ser mas simple que def, que lo aprenderemos más adelante, lo ponemos ahora para poder hacer nuestras mini funciones, por ejemplo:

sintaxis:

<nombre de la funcion> = lambda <variable de la funcion>: <funcion><nombre de la funcion><funcion>

Y ahora, nosotros creamos una funcion que es la de multiplicacion, aunque ya existe, es para la prueba:

mul = lambda m,c: m*cprint mul(3,3)

Esto multiplicaria 3 x 3, y saldria 9, podeis probarlo, es para funciones simples, podeis hacer muchos conjuntos de numeros y etc...Pronto, aprenderemos a usar def, para poder crear funciones mas amplias.

Page 11: La elegancia en la programación - Python

18.Creamos funciones: def()

Buenas a todos de nuevo, volvemos con el curso de python, como vereis ire añadiendo, no a una velocidad gigante, pero se podra ir practicando.La funcion def(): es una función que a su vez crea funciones.Su sintaxis es facil:

def nombre_de_la_funcion(): codigo

En nombre_de_la_funcion ponemos el nombre de nuestra funcion y en codigo su funcion.Despues, para llamar esas funciones, usariamos el modo:

nombre_de_la_funcion()

Como veis es una sintaxis y llamada simple, ahora que pasa...¿Le podemos añadir unas variables de contenido?Las variables de contenido, que asi le llamo yo, son las que podemos introducir en el (), por ejemplo:

def sumas(a,b): print a+b

Esta función lo que hace es sumar el contenido de a y b, y para llamar la función tendriamos que hacer:

sumas(19,3)

Y nos devolveria 22 que es el resultado de 19+3.Como veis es algo facil, ahora, voy a dejaros un par de ejemplos:

# Ejemplo de sumar 4 numerosdef sumas(a,b,c,d): print a+b+c+d # Codigo normalsumas(1,12,1,11)

# En este ejemplo comparamos 2 numerosdef comparar(a,b):

Page 12: La elegancia en la programación - Python

if a == b: print a ,"y", b ,"son iguales"else: print a ,"y", b, "no son iguales" # Codigo normalcomparar(8,6)

Espero que os ayude.

Aquí llego el fin de este mini curso, tranquilos, sólo es la primera entrega, todo lo que veis es una recopilación de los foros en los que he posteado mi curso y los he ido recogiendo y poniendolos aquí.

Webs de interes:www.code-makers.eswww.elhacker.net

Email de contacto para ayuda o soporte:[email protected]

Creador:Erik# - Erik Caballero

Más adelante, sacare nuevos temas como interfaces graficas con tk (ya podeis verlo en foros como los que antes señale) pero intentare completarlo más para la proxima entrega.

Un saludo y un fuerte abrazo a todos los programadores de python, Erik.