Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Erik# en 21 Septiembre 2008, 21:16 pm



Título: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:16 pm
Curso de programación en python

1.Introducción

Bienvenidos al primer cursillo de programación en python, como sabeis, me gusta hacer cursillos para que la gente disfrute y practique, vamos explicar un poco por encima las diferencias de python con otros lenguajes script.
Python, es un lenguaje sencillo de escribir y facil de manejar, como siempre, lo primero que haremos es descargarnos activepython: ActivePython Linux (http://downloads.activestate.com/ActivePython/linux/2.5/ActivePython-2.5.2.2-linux-x86.tar.gz), ActivePython Windos (http://downloads.activestate.com/ActivePython/windows/2.5/ActivePython-2.5.2.2-win32-x86.msi), nosotros haremos este curso orientado a windows y linux, como siempre hacemos, muy bien, una vez descargado e instalado activepython, utilizaremos o el bloc de notas o el notepad++ que en el subforo cafeteria lo encontrareis, y no os pongo el link, para que no seais perezosos.
Python a diferencia del anterior curso de perl, es un lenguaje con una sintaxis mas facil de escribir y una declaración de modulos y funciones aun mas simple que perl, puede que os guste más perl, por su complejidad y porque tiene mas fama, pero vereis como python, puede igualarle.


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:16 pm

   
« Respuesta #1 : 14 de Septiembre de 2008, 05:39:42 »
   Responder con citaCitar Modificar mensajeModificar Eliminar mensajeEliminar Dividir TemaDividir Tema
2.Como iniciar las aplicaciones de python en nuestro ordenador Muy bien, en python, para poder iniciar las aplicaciones tenemos que ir a: Inicio >> Ejecutar >> CMD, entonces se te abrira la ventana MS-DOS, muy bien, alli para poder iniciar una aplicacion en python tenemos que escribir:
Código:
nombredelaaplicacion.py
Solo ponemos el nombre de la aplicacion con su extension y ya. Y para linux: Abrimos el terminal, escribimos cd y la ruta donde queramos ir, recordad que linux es sensible a mayusculas... Luego, escribimos python nuestra_archivo_python.py Y se ejecutara.
 


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:16 pm
3.Seleccionar la ruta del archivo

En MS-DOS para seleccionar una ruta, usamos el codigo cd, "change directory", bien, si queremos ir al escritorio escribimos: cd Escritorio y el nos llevara hasta alli, tranquilos, no es sensible a mayusculas si lo escribiis todo pequeño se cambiara igual, algunos los teneis en ingles, pues en vez de escritorio, desktop.

Y si queremos selccionar una carpeta del escritorio: cd Escritorio/carpeta
Y ya esta, es muy facil.


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:22 pm
4.Textos de salida

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

Código
  1. print "Hello World! Curso de programacion en python - elhacker.net"


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:23 pm
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:

Código
  1. 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:

Código
  1. python = u"lenguaje de programacion"

Luego tendriamos las booleanas:

Código
  1. soyguapo = "TRUE"

Despues las enteras:

Código
  1. año = 365

y por ultimo las float:

Código
  1. año = 365.6

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

Variable de caracteres = str
Variable de caracteres unicode = unicode
Variable de enteros = int
Variable booleanas = bool
Variables 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.


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:23 pm
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:

Código
  1. input();

la sintaxis seria así:

Código
  1. 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í:

Código
  1. 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:

Código
  1. variable=input();
  2. str(variable)

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


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:23 pm
7.Juntar texto plano con variables

Para juntar un texto plano con variables lo hariamos así, aqui utilizaremos un ejemplo:

Código
  1. erik ="es muy guapo"
  2. print "Sabias que Erik", erik

Asi uniriamos el texto plano Sabias que Erik y luego la variable erik.


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:24 pm
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:

Código
  1. ifcondicion
  2. sentencia
  3. else:
  4. sentencia

Y la sintaxis usando elseif seria:

Código
  1. if condicion:
  2. sentencia
  3. elif condicion:
  4. sentencia
  5. else:
  6. sentencia

Como veis, usamos una abrevación: elif.

Ejemplo en vivo:

Código
  1. x = 9
  2. if x==9:
  3. print 'Si, la variable x contiene el numero 9'
  4. else:
  5. 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.


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:25 pm
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


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:25 pm
10.Nuestra primera aplicacion

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

Código
  1. num = input("Introduce una cifra: ")
  2. if num / 2:
  3. print num, "es par"
  4. else:
  5. print num, "es impar"


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:25 pm
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:
Código
  1. while condicion:
  2. sentencia
  3.  

y aqui un ejemplo:

Código
  1. amigos = 12
  2. while amigos < 19:
  3. amigos = amigos + 1
  4. print "Ya tienes", amigos, "amigos"


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:25 pm
12.For

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

Código
  1. for elemento in secuencia:
  2. sentencia

y aqui un ejemplo:

Código
  1. numeros = ['1', '2', '3']
  2. for n in numeros:
  3. print n


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:26 pm
13.Range

Es una funcion secuencial la cual expone numeros, la sintaxis es asi:
Código
  1. print range(numeros)

Ejemplos:

Código
  1. print range(11)

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

Tambien puedes elegir entre diferentes numeros:
Código
  1. print range(6, 9)


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:26 pm
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:

Código
  1. import os

Una vez hecho esto, podemos usar la funcion escribiendo:

Código
  1. import os
  2. os.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 ;)


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:26 pm
15.Importar una funcion especifica

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

Código
  1. from <modulo> import <funcion>

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

Código
  1. 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:

Código
  1. time.sleep(5)

ahora podemos hacer:

Código
  1. sleep(5)

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


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:27 pm
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:

Código
  1. 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:

Código
  1. msn =raw_ input("Introduce tu msn: ")


Título: Re: Curso de programación en python
Publicado por: Erik# en 21 Septiembre 2008, 21:28 pm
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:
Código
  1. <nombre de la funcion> = lambda <variable de la funcion>: <funcion>
  2. <nombre de la funcion><funcion>
  3.  

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

Código
  1. mul = lambda m,c: m*c
  2. print 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.


Título: Re: Curso de programación en python
Publicado por: radixsoft22 en 26 Septiembre 2008, 21:03 pm
hola buenas tardes esta muy bien este curso de python pero yo tengo una duda ya descargue el pyhon mas reciente 2.5 la ultima version que existe ya lo instale en mi maquina pero no se algunos sistemas que viene con el python uno de ellos es el python (command line) es parecido al msdos pero no lo es y deseo correr mis programas aqui o usted me podria decir para que sirve y como se utiliza


Título: Re: Curso de programación en python
Publicado por: Erik# en 26 Septiembre 2008, 21:41 pm
No necesitas IDE, el mejor ide es un buen bloc de notas, luego se guarda en .py y listo y en el cmd lo ejecutas, no uses ningun tipo de IDE, es mi recomendacion.


Título: Re: Curso de programación en python
Publicado por: -Ramc- en 26 Septiembre 2008, 22:12 pm
No necesitas IDE, el mejor ide es un buen bloc de notas, luego se guarda en .py y listo y en el cmd lo ejecutas, no uses ningun tipo de IDE, es mi recomendacion.
Si esta en windows, yo le recomendaria Pythonwin IDE creo que viene con ActivePython o sino Wing IDE que a mi parecer es el mejor para Windows en python, creo que eclipse también tiene un plugin.