7/25/2019 Python Desde Cero
1/54
Python desde Cero:
Instalacin & Configuracin
PUBLICADO POR:CARLOS PICCA, EL 10/06/2013
Bienvenido a Python desde Cero, serie en la cual aprenderemos Python desde Cero. En esta
sesin, estudiaremos como instalar y configurar Python en nuestros computadores.
Qu es Python?
Python es un gran lenguaje que puede servir para desarrollar fcilmente tanto aplicaciones
pequeas como aplicaciones de gran embergadura. Entre muchas caractersticas que hacen
de Python un gran lenguaje de programacin ac encontramos las tres principales:
Alto nivel- Ya que su sintaxis es sencilla, lo hace un gran lenguaje para aprender a
programar por primera vez. A su vez facilita el desarrollo de aplicaciones, ya que
acorta el nmero de lneas de cdigo a desarrollar con respecto a otros lenguajes de
programacin.
Multipropsito- Puede ser usado para desarrollar tanto scripts sencillos como paradesarrollar sitios web dinmicos.
Posee una gran librera pre-instalada de apoyo- Cabe la posibilidad que dentro de
la librera ya estn desarrolladas muchas de las cosas comunes que quieras hacer, as
nos evitamos programar un mdulo desde cero.
InstalacinOk, ya que conocemos un poco de Python, empecemos a usarlo. Lo primero es saber que
existen dos versiones disponibles.
http://codehero.co/author/carlos.htmlhttp://codehero.co/author/carlos.htmlhttp://codehero.co/author/carlos.html7/25/2019 Python Desde Cero
2/54
Versiones
Existen dos versiones activas de Python las cuales podemos descargar:
Python 2
La ms compatible, ya que como ha estado ms tiempo en el mercado existen una gran de
cantidad de libreras que puedes ser usadas con esta versin y as facilitar el desarrollo de
nuestras aplicaciones.
Python 3
Funcionalidades mejoradas con respecto a versin anterior pero es prcticamente
incompatible con Python 2.
Es importante resaltar que escoger la versin es un paso muy importante ya
que migrar de Python 2 a Python 3 no es tan fcil, debido a que usan
sintaxis de desarrollo diferentes.
Para este tutorial vamos a usar la Python 2, as que descarguemos la ultima versin
disponible. A continuacin se muestra el procedimiento a seguir para los diferentes sistemas
operativos:
Mac OS
Para poder instalar la ltima versin de Python (2.7.5) en el sistema operativo debemos tener
previamente instaladoHomebrew. Utilizaremos el siguiente comando para iniciar la
instalacin:
$ brew install python --framework
Este paso instalar todos los componentes necesarios y tardar unos minutos, una vez que
culmine debemos exportar est ruta alPATHdel usuario.
$ export PATH=/usr/local/share/python:$PATH
La bandera--frameworkle indica a Homebrew que debe compilar Python en estilo
Framework. Esto se realiza porque la versin de Python que vena conSnow Leopardse
http://mxcl.github.io/homebrew/http://mxcl.github.io/homebrew/7/25/2019 Python Desde Cero
3/54
encontraba compilada de esta manera, y se sigue utilizando solo por prevencin de errors en
instalaciones futuras.
Una vez finalizada la instalacin, ya deberamos tener Python corriendo en nuestro sistema.
Nota:Si por el contrario desean instalar la versin 3 de Python lo pueden hacer de la mismamanera utilizando el siguiente comando:
$ brew install python3 --framework
Windows
Descarguemos desdepython.org/releasesla versin Windows X86-64 MSI Installer (ltima
versin estable de Python 2 para Windows hasta la fecha del tutorial). Una vez descargado,
hacemos doble-click en el instalador y aceptamos todas la condiciones del instalador, no hay
que preocuparnos por configuraciones avanzadas, el instalador es sencillo de usar. Una vez
finalizada la instalacin, ya deberamos tener Python corriendo en nuestro sistema.
Linux
Si se encuentran en una distribucin basada en Debian y quieren instalar una versin de
Python distinta a la que viene con el Sistema Operativo. Existe un PPA (Paquete Personal de
Archivo) que nos facilita la tarea de instalacin.
$ suo a-apt-repository ppa:fkrull/easnakes
$ suo apt-!et upate
$ suo apt-!et install python"#
Si todo funcion exitosamente deberamos tener la ultima versin de Python 2.7 corriendo en
el sistema.
Cmo usarloUna vez instalado, nos vamos a encontrar con tres maneras de usar Python:
Python Shell- la consola de Python, la cual nos permite ejecutar comandos lnea por
lnea.
http://python.org/download/releases/http://python.org/download/releases/7/25/2019 Python Desde Cero
4/54
IDLE GUI- una aplicacin que nos permite escribir scripts ms complejos para luego
ejecutarlos de manera sencilla.
Editor de texto- cualquier editor de texto que corra en tu sistema operativo te
permitir escribir un script. Luego lo guardars con la extensin#pyy lo ejecutars
desde el Shell.
Shell
Veamos primero el Shell y como interactuar con l:
Mac y Linux
Abrimos el terminal de nuestras mquinas y ingresamos el siguiente comando: python
Windows
Debemos navegar hasta el directorio de instalacin de Python. Por defecto, debera
ser%:&Python"Una vez ah, ejecutamospython#exe
Si nos aparece lo siguiente, accedimos satisfactoriamente al Shell de Python:
Python "##' ()"##3:*"+'3c, Apr . "*," "*:'":+3
01%% +#"#, (Apple 2nc# buil '(ot 34on arwin
Type 5help5 5copyri!ht5 5creits5or 5license5for more information#
666
IDLE
Para abrir el IDLE de Python navegamos hasta la carpeta de instalacin de Python y
ejecutamos el archivo denominado IDLE (Para Mac/Linux/Windows). Una vez abierto, vemos
que la aplicacin nos proporciona elShell. La funcionalidad ms importante que ofrece es lacapacidad de crear y modificar archivos.
Hola Mundo!
7/25/2019 Python Desde Cero
5/54
Desarrollemos nuestro primer programa!, empezamos por crear un archivo nuevo dentro del
IDLE de Python, en mi caso, como estoy usando Mac OS el comando para realizar esta accin
es%trl 7 8.
En el editor de texto que nos aparece, tecleamos la siguiente instruccin:
print Hola Mundo!
La funcin print nos permite imprimir cualquier texto que deseemos mientras este entre
comillas.
Guardamos el documento (en mi caso%trl 7 9) y lo vamos a llamartutorial.py. Ahora para
correrlo desde elIDLElo nico que tenemos que hacer es presionar la tecla'y el programa
automticamente se ejecutar.
Python "##' ()3#3#*:b;afb.*ebf" Apr . "*," ",:'":+3
01%% +#"#, (Apple 2nc# buil '(ot 34on arwin
Type 5copyri!ht5 5creits5or 5license(5for more information#
666
================================
7/25/2019 Python Desde Cero
6/54
Eric IDE, mejor en Linux, lo encontrars en el Ubuntu Software center
Ejecucin Sencilla vs. EngorrosaYa vimos que podemos ejecutar un script desde elIDLE GUI, ahora veamos otras maneras
como podemos ejecutar dicho script.
Vamos a suponer que queremos ejecutar el archivotutorial.py, existen dos maneras para
hacerlo la manera sencilla o la manera engorrosa:
Va Engorrosa
Navegamos hasta el directorio donde se encuentra ubicadotutorial.py(En mi caso esta en la
carpeta ~/Documents/Tutoriales/Python/capitulo1/) y luego usamos el comandopython + el
nombre del archivopara ejecutarlo, veamos como sera ese cdigo:
$ c@/ocuments/Tutoriales/Python/capitulo,/
$ python tutorial#py
$ Hola >uno?
Una vez ejecutado el script nos imprime elHola muno?al igual como lo hizo cuando locorrimos desde IDLE de Python.
Va Sencilla
Lo primero que hay que hacer es abrir eltutorial.pycon el IDE o editor de texto de nuestra
preferencia y agregarle la siguiente lnea para indicarle al terminal que lenguaje o motor de
interpretacin va a usar
B?/usr/local/bin/python
Nos quedara lo siguiente:
B?/usr/local/bin/python
printCHola>uno?D
http://eric-ide.python-projects.org/http://eric-ide.python-projects.org/7/25/2019 Python Desde Cero
7/54
Lo segundo, tendramos que darle permisologa de ejecucin atutorial.pycon la siguiente
instruccin en el terminal
$ chmo '' tutorial#py
Por ltimo ejecutaramos el archivo desde el terminal de la siguiente manera
$ #/tutorial#py
Si todo esta correcto debera imprimir lo siguiente:
Hola >uno?
ConclusinEn esta leccin, instalamos un Python desde cero, discutimos las caractersticas importantes
del lenguaje, hablamos sobre las mejores herramientas para escribir nuestro cdigo y hicimos
nuestro primer programa!. Si tienes alguna pregunta, yo estar feliz de responderte en los
comentarios, adems espero que te unas y le eches un vistazo a todo el resto de esta serie.
7/25/2019 Python Desde Cero
8/54
Python desde Cero: Variables,
Operadores y Estructuras de Control
Bienvenidos una vez ms a Python desde Cero, serie en donde aprendemos Python desde
cero. En el captulo anterior descargamos Python, lo instalamos, nos paseamos por las
diferentes maneras sobre como ejecutar scripts y hicimos nuestro primer programa, un Hola
Mundo!.
Hoy, aprenderemos las variables y sus tipos de datos, los operadores que podemos usar y las
estructuras de control que deberamos utilizar para desarrollar nuestro propio cdigo.
Como el captulo de hoy va a hacer un aprendizaje dinmico, vamos a usar el Shell de Python
ya que nos permite ejecutar lnea por lnea el cdigo que deseemos probar.
Para ejecutar el Shell de Python haremos lo siguiente:
Windows
Debemos navegar a la carpeta de instalacin de Python y hacer doble-click enpython#exe.
Les recomiendo que si van a desarrollar en Python, creen un atajo para as no tener que estar
realizando todo este proceso cada vez que queramos iniciar el Shell.
Mac o Linux
Abrimos el Terminal y tipeamospython
Si les aparece el siguiente mensaje quiere decir que ya estamos dentro del Shell
Python"##'(efaultEct,,"*,""*:,+:3
01%%+#"#,%ompatibleApple%lan!+#*(ta!s/Apple/clan!-+,;#*#*4onarwin
Type5help55copyri!ht55creits5or5license5formoreinformation#
666
Observamos que estamos usando Python 2, configuracin que dejamos en
el captulo anterior (Python "##'). Si por alguna razn decidieron instalar
Python 3, estn atentos porque pueden existir algunas diferencias en los
comandos de cdigo que vamos a usar.
7/25/2019 Python Desde Cero
9/54
Variables
Pensemos que una variable es un lugar en donde podemos guardar diferentes tipos de datos.
Crear una variable en Python es ms sencillo que en otros lenguajes de programacin. La
estructura es la siguiente:
nombre = valor
Dondenombrees el nombre que le quieras dar a la variable y)alores el valor que le quieras
asignar a dicha variable.
Tipos de DatosNmeros
Veamos un ejemplo:
666estaos=,"
Estaramos asignando,"a la variableestaos.
Si tipeamos el nombre de la variable en el Shell, este nos devolvera el valor. Veamos:
666estaos
,"
Python soporta diferente tipos de nmeros por ejemplo:
Enteros (int)
666entero=,*
Decimales (Float)
666ecimal=,*#'
Como puedes observar no es necesario declarar el tipo de variable como en
otros lenguajes, Python lo descifra por ti.
7/25/2019 Python Desde Cero
10/54
Cadena de caracteres (Strings)
Podemos almacenar un texto dentro de una variable siempre y cuando este dentro de comillas
simples o dobles. Veamos un ejemplo:
666saluo=CFien)enioa%oehero#coD
Si tipeamos el nombre de la variable en el Shell, este nos devolvera el valor. Veamos:
666saluo
GFien)enio a %oehero#coG
Si queremos usar comillas simples dentro de una declaracin o viceversa lo
podemos hacer haciendo uso de&delante de las comillas que deseemos
que pertenezcan al texto. Veamos un ejemplo:
666mensae=5icen Iue &G%oehero#co&Ges el meor sitio para aprener apro!ramar5
666mensae
5icen Iue G%oehero#coG es el meor sitio para aprener a pro!ramar5
Booleans
Representacin de Verdadero(True) o Falso(False) dentro de una variable. Veamos un
ejemplo:
666esHombre=True
Asignamos a la variableesHombreel valor de True (Verdadero). Si tipeamos el nombre de la
variable en el Shell, este nos devolvera el valor. Veamos:
666esHombre
True
En Python es importante que la primera letra deTrueoalseeste en
mayscula.
7/25/2019 Python Desde Cero
11/54
Vectores (Array)
Es un conjunto de objetos encapsulados dentro de una sola variable. En Python se denominan
listas. Veamos un ejemplo de cmo crear una lista:
666miJista=0,"34
Observemos que todos los objeto que queramos encapsular deben estar
entre corchetes0 4.
En el ejemplo anterior asignamos amiJistalos objetos 1, 2 y 3. Si tipeamos el nombre de la
variable en el Shell, este nos devolvera el valor. Veamos:
666miJista
0,"34
Las listas pueden contener objetos diferentes, por ejemplo:
666miJista=0,GcoeheroGalse4
Adems, pueden encapsular listas dentro de la misma lista, ejemplo:
666miJista=0,0+KcoeheroL.4True4
Ahora si queremos saber o retornar un valor en especfico dentro de una lista lo hacemos de lasiguiente manera:
nombre_de_la_lista[El nmero del objeto en el orden de creacin]
Veamos un ejemplo:
666miJista=0,0+GcoeheroG.4True4
666miJista0*4
,
666miJista0"4
True
7/25/2019 Python Desde Cero
12/54
Debemos observar que en Python los objetos dentro de una lista se indexan
a partir del 0, eso quiere decir que mi primer objeto va estar en la posicin 0
y el segundo en la posicin 1 y as sucesivamente.
Otra caracterstica de porque Python es un lenguaje sencillo de utilizar, es que podemos crearvariables en lnea y asignarles su valor respectivamente, veamos como se hace:
666abc=,"3
Observemos que creamos una variablea, unaby unacy le asignamos 1, 2, 3
respectivamente.
As mismo podemos asignarle el mismo valor a mltiples variables veamos como:
666a=b=c=,
Asignamos 1 a la variablea,byc.
En Python es importante asignarle un valor a una variable la primera vez
que la creamos, de lo contrario nos arrojar un error. La solucin a este
detalle es asignar valores bsicos o neutros dependiendo del tipo de dato.
Ejemplo:numero = *,mensae = CD.
Comentarios
Veamos la manera de como comentar el cdigo en Python. Uno crea comentarios
principalmente para recordar que tipo de funcionalidad tiene ese cdigo en particular. Para
comentar usamosB, todo lo que este escrito despus del numeral no ser tomado en cuenta.
Veamos unos ejemplos:
666Bsto es un comentario666nombre=KcoeheroLBAsi!namos el nombre el sitio a la )ariable nombre
Operadores
7/25/2019 Python Desde Cero
13/54
Son elementos que nos permiten manipular las variables. Veamos unos ejemplos:
"73BAiciMn retorna '
;-'B9ustracciMn retorna 3
"NB>ultiplicaciMn retorna ,"
,"/3Bi)ision retorna +
O3B>oulo retorna el resiuo e la i)ision , en este caso#
3NN"BPotencias retorna .
Nosotros tambin podemos asignar a la misma variable el resultado de una operacin.
Veamos el siguiente cdigo:
x="
x 7=+BA!re!a + a x ahora x es i!ual a
x /="Bi)ie x por " ahora x es i!ual 3
Los operadores no solo funcionan con nmeros, tambin los podemos usar en cadenas de
caracteres. Por ejemplo, si tenemos las siguientes variablesa = K%oeheroLyb = Kes el
meorLlas podemos concatenar de la siguiente forma:
666a=G%oehero G
666b=Ges el meorG
666a7b
G%oehero es el meorG
Estructuras de control
Una vez que hayas creado y manipulado variables, las estructuras de control te permitirn
manejar el flujo de la data. Los dos tipos de estructuras que aprenderemos el da de hoy son:
Condicionales
Los condicionales te permiten ejecutar diferentes bloques de cdigo dependiendo de que valor
posea una variable en cuestin. Veamos unos ejemplos:
7/25/2019 Python Desde Cero
14/54
Para esta parte del tutorial vamos a usar scripts ya que vamos a necesitar
ejecutar ms de una lnea de cdigo a la vez. Para saber cmo ejecutar un
script desde la consola te recomiendo que revises el captulo anterior).
esActi)o=True
ifesActi)o:
printK%oeheroestaacti)oL
Lo que hace el cdigo anterior es chequear si la variableesActi)oes igual aTrue, como la
variable la declaramosesActi)o = True, al ejecutar el script nos va a retornar%oehero esta
acti)o.
Tipos de condicionales:
Menor
Valida si una variable es menor a otra.
if"3:
printKosesmenorIuetresL
Mayor
Valida si una variable es mayor a otra.
if"63:
printKosesmayorIuetresL
Igual
Valida si una variable es igual a otra.
if"==3:
printKosesi!ualIuetresL
Diferente
Valida si una variable es diferente a otra.
if"?=3:
7/25/2019 Python Desde Cero
15/54
printKosesiferenteIuetresL
Mayor Igual
Valida si una variable es diferente a otra.
if"6=3:
printKosesmayoroi!ualIuetresL
Menor Igual
Valida si una variable es diferente a otra.
if"=3:
printKosesmenoroi!ualIuetresL
Hasta ahora vimos la manera de ejecutar un solo bloque de cdigo pero que pasa cuando
quiero ejecutar diferentes bloques, sencillo, usamos el comandoelse. Veamos un ejemplo:
esActi)o=alse
ifesActi)o:
printKsacti)oL
else:
printK8oestaacti)oL
Si queremos ejecutar ms de dos bloques con varias condiciones usamos el comandoelif.
Veamos como:
a=,'
ifa3:
printKsmenorIuetresL
elifa==':
printKsi!ualacincoL
else:
printKsmayorIueIuinceL
7/25/2019 Python Desde Cero
16/54
Bucles
Es una sentencia que se realiza repetidas veces a un trozo aislado de cdigo. Hoy vamos a
aprender los bucles mas bsicos que sonforywhile
Bucle For
Es un bucle en la que se puede indicar el nmero mnimo de iteraciones. Veamos un ejemplo:
miJista=0,"3+'4
forainmiJista:
printa
Si lo ejecutamos obtenemos:
,
"
3
+
'
Bucle While
Su propsito es repetir un bloque de cdigo mientras una condicin se mantenga verdadera.
ab=*'
whileab:
printa
a7=,
Observemos que en este caso para detener el ciclo necesitamos aumentar
el valor de la variableacon la siguiente instruccina 7= ,
Si lo ejecutamos obtenemos:
7/25/2019 Python Desde Cero
17/54
*
,
"
3
+
Conclusin
Esto es todo por ahora, pero hoy cubrimos suficientes tcnicas como para que vayan
practicando. Sintase libres de leer el tutorial una y otra vez hasta que tenga sentido.
Cualquier duda que tengan se las contestar a travs de los comentarios, adems espero que
se unan y le echen un vistazo a todo el resto de la serie!
7/25/2019 Python Desde Cero
18/54
Python desde Cero: Funciones
Bienvenidos una vez ms a Python desde Cero, curso en el cual aprendemos a programar sin
conocimiento alguno. En el captulo anterior, te ensee todo lo referente al uso de variables,operadores y estructuras de control. Si eres nuevo en este curso, te recomiendo que le eches
un vistazo a los captulos anteriores para que te pongas en contexto (Captulo 2)
Hoy, aprenderemos todo lo que tiene que ver con las funciones dentro de Python, desde los
tipos hasta los estndares necesarios para desarrollar una buena funcin.
Qu es una Funcin?
Una funcin es un bloque de cdigo el cual puede ser ejecutado cuando y cuantas vecesdeseemos. Son de gran ayuda cuando necesitamos que un programa ejecute cierta operacin
muchas veces.
Existen dos tipos de funciones, las creadas por ti, la cuales incluyen el cdigo que tu deseas
ejecutar, y las que vienen incluidas con Python, las cuales sirven para realizar procedimientos
bsicos, como por ejemplo convertir un integer en un string o saber cual es el tamao de dicho
string.
Funciones Creadas por tiLa mejor manera de ensear a usar las funciones, es con un ejemplo, por lo que imaginemos
que queremos hacer un programa para un carrito de compras online el cual toma todos los
costos de los artculos que desees comprar y los suma para luego retornar el costo total de la
compra.
Vamos a escribir una funcin que nos permita agarrar dos precios de artculos de compra,
sumarlos y despus imprimir ese valor. Veamos como hacerlo:
Bnuestros os precios e los artQculosarticulo,=,* Barticulo , posee un precio e ,*
articulo"="' Barticulo " posee un precio e "'
eftotaliRar%ompra(:
http://codehero.co/python-desde-cero-variables-operadores-y-estructuras-de-control/http://codehero.co/python-desde-cero-variables-operadores-y-estructuras-de-control/7/25/2019 Python Desde Cero
19/54
costoTotal=articulo,7articulo"
printcostoTotal
totaliRar%ompra(
Para definir una funcin en Python lo nico que debemos usar es la palabra claveefy luego
colocar el nombre que le queremos dar a la funcin, en este casototalizarCompra. Luego,
tipeamos dos parntesis (ms adelante veremos que se puede hacer con esos parntesis
pero por los momentos vamos a mantenerlo simple), y finalmente agregamos dos puntos.
Despus de esto, todo el cdigo que deseemos agregar a la funcin debe estar identado (al
igual que con losif,while, etc . Para ms informacin te invito a repasar el captuloanterior).
Para poder ejecutar dicha funcin lo nico que necesitamos hacer es tipear el nombre de la
funcin seguida de dos parntesis (e.j.totaliRar%ompra().
Si ejecutamos el script podemos observar que nos retorna35, lo que es correcto.
$ python"# carrito%ompra#py
$ 3'
Argumentos
Hasta los momentos nuestra funcin parece un poco rgida, ya que no puede manejar
variables o valores externos dentro del bloque de cdigo. Veamos como podemos hacer paraque esta funcin tome algunos argumentos o valores externos.
Imaginemos por un momento que la funcintotaliRar%osto(la queremos usar en otra parte
de nuestro programa, pero en vez de siempre sumar los mismos valoresarticulo, 7 articulo",
sumemos artculos diferentes con diferentes precios. Para llevar a cabo este requerimiento,
vamos a usar losargumentos, los cuales van a estar definidos dentro de los dos parntesis
que posee la funcin.
Unargumentoes la va para pasar informacin a una funcin cuando no
sabemos el valor o valores que esa variable posee.
Confundido?, veamos el ejemplo anterior y salgamos de las dudas. Ya sabemos que
necesitamos agregarle argumentos a la funcin. Veamos como:
articulo,=,* Barticulo , posee un precio e ,*
http://codehero.co/python-desde-cero-variables-operadores-y-estructuras-de-control/http://codehero.co/python-desde-cero-variables-operadores-y-estructuras-de-control/7/25/2019 Python Desde Cero
20/54
articulo"=+* Barticulo " posee un precio e +*
articulo3=' Barticulo 3 posee un precio e '
articulo+="' Barticulo + posee un precio e "'
eftotaliRar%ompra(item,item":
costoTotal=item,7item"
printcostoTotal
totaliRar%ompra(articulo,articulo"
Losargumentosvan definidos dentro de los parntesis de la funcin. Cada
argumento que deseamos generar debe tener tu propio nombre y debenestar separado por comas. Este acta como una referencia temporal hacia
la informacin que le pasamos a la funcin mientras que esta ejecuta el
bloque del cdigo.
Observemos que lo primero que hicimos fue agregar dos artculos
msarticulo3yarticulo+para poder probar el script con diferentes artculos. Segundo,
agregamos dos argumentositem,yitem"los cuales mantendrn el valor de los artculos
para as despus sumarlos.
Por ltimo, veamos qu pasa cuando invocamos la funcin con los dos
argumentostotaliRar%ompra(articulo, articulo". Lo primero que ocurre es que las dos
variables que le pasamosarticulo,yarticulo"se convierten en los argumentos item1 y item2
respectivamente. Esto siempre ocurre en el orden que que uno define los argumentos, es
decir, la primera variable que pasamos es asignada al primer argumento, las segunda al
segundo argumento y as sucesivamente.
Segundo, las variables que le pasamos se convierten variables locales dentro del bloque de
cdigo de la funcin, esto significa que podemos hacer uso de esas variables fcilmente
(item,yitem").
Suficiente explicaciones, ahora ejecutemos el script y veamos que nos devuelve:
$ python"# carrito%ompra#py
$ '*
7/25/2019 Python Desde Cero
21/54
Como podemos ver, nos devolvi la suma delarticulo,yarticulo". Ahora veamos que pasa si
en vez de pasarlearticulo,yarticulo"como argumentos, le pasamosarticulo3yarticulo+.
Cambiemos solo la ltima lnea del script portotaliRar%ompra(articulo3 articulo+
articulo,=,* Barticulo , posee un precio e ,*
articulo"=+* Barticulo " posee un precio e +*
articulo3=' Barticulo 3 posee un precio e '
articulo+="' Barticulo + posee un precio e "'
eftotaliRar%ompra(item,item":
costoTotal=item,7item"
printcostoTotal
totaliRar%ompra(articulo3articulo+
Si ejecutamos el script podemos observar que exitosamente imprime30, la suma
delarticulos3y delarticulo+, ya que esos fueron los argumentos que les pasamos.
$ python"# carrito%ompra#py
$ 3*
Cmo retornar valores dentro de una funcin?
Por ltimo, veamos una de las caractersticas ms importantes dentro del captulo de
funciones, la forma de como retornar valores dentro de una funcin.
Hasta ahora hemos visto como hacer funciones que no retornan ninguna informacin, pero
qu pasa s necesitamos guardar la respuesta detotaliRar%ompra(articulo3 articulo+en
vez de imprimirla?
La respuesta es sencilla, lo nico que debemos hacer es asignar en la funcin que variable vaa hacer el valor de retorno. La manera de asignar o decirle a la funcin que retorne una
variable es con la palabra clavereturn.Veamos el ejemplo anterior, vamos a remplazar la
palabraprintde la funcintotaliRar%ompra(por la palabrareturn. As la funcin sabr que
deber retornar el valor decostoTotaly no imprimirlo.
articulo,=,* Barticulo , posee un precio e ,*
7/25/2019 Python Desde Cero
22/54
articulo"=+* Barticulo " posee un precio e +*
articulo3=' Barticulo 3 posee un precio e '
articulo+="' Barticulo + posee un precio e "'
eftotaliRar%ompra(item,item":
costoTotal=item,7item"
returncostoTotal
total,=totaliRar%ompra(articulo,articulo"
total"=totaliRar%ompra(articulo3articulo+
printtotal,
printtotal"
Obviamente, la funcin no va imprimir la respuesta sino que va a devolver a las
variablestoatl,ytotal", los valores correspondientes a la suma de sus artculos, es
decir,total,va a recibir la suma dearticulo,yarticulo", ytotal"va a recibir la suma
dearticulo3y articulo4.
Si ejecutamos el script observamos:
$ python"# carrito%ompra#py
$ '*
$ 3*
Funciones Incorporadas
Existen operaciones que son muy usadas dentro de la programacin, es por eso que Python
las incluye para que as las podamos usar en cualquiera de nuestros programas que estemosdesarrollando.
La manera para invocar dichas funciones es exactamente la misma como invocamos las
funciones que desarrollamos nosotros pero con la nica deferencia quenodebemos definirlas
con anterioridad.
7/25/2019 Python Desde Cero
23/54
En este captulo, vamos a pasearnos por la funciones ms importantes y ms usadas dentro
del mundo de la programacin, pero existen miles y miles de funciones que Python pone a tu
disposicin para que hagas uso de ellas, si quieres echarle un ojo te recomiendo
ladocumentacin de Python.
str()
Primero, veamos una de las funciones ms usadas en Python: el convertidor astring. Muchas
de las veces que uno desarrolla aplicaciones se encuentra con la necesidad de convertir una
variable que contiene un nmero en una cadena de caracteres. Como por ejemplo:
numero=,*
printGl nSmero es G7numero
Si ejecutamos ese script nos encontraremos con un error ya que le estamos pidiendo a Pythonque aada un nmero a una cadena de caracteres. Es en este caso dondesrt()sale al
rescate!, ya que esta toma el valor del nmero y lo retorna como un string(cadena de
caracteres). De esta manera Python entender que7no significar sumar los dos elementos
sino concatenar o juntar dos cadenas de caracteres. Veamos como:
numero=,*
printGl nSmero es G7str(numero
Ahora si ejecutamos este trozo de cdigo, observamos que nos imprime la cadena de
caracteres sin ningn problema:
$ l nSmero es ,*
str()no solo acepta valores tipo integer, tambin puede aceptar diferente tipos de dato como
por ejemplo Booleans.
bool=True
printGl )alor e la )ariable es G7str(bool
len()
Otra tarea muy comn es saber cual es el tamao de una cadena de caracteres, es ah donde
Python nos cubre las espaldas y nos proporciona **len(), funcin que toma una cadena de
caracteres y nos retorna el tamao de la misma en forma de nmero. Veamos como usarla:
http://www.python.org/http://www.python.org/7/25/2019 Python Desde Cero
24/54
caena=GHola %oehero?G
printlen(strin!
Si ejecutamos el cdigo vemos que imprime 14, que es el nmero de caracteres que posee
eseHola %oehero?.
$ ,+
range()
Finalmente, veamos una funcin que no es tan comn pero que viene a la mano una vez que
uno empieza a desarrollar programas ms complejos en Python. Estamos hablando derange,
funcin que nos permite crear una lista de nmeros dado el nmero al cual queremos llegar,
es decir, si queremos crear una lista de nmero del 0 al 10, es mucho ms fcil hacerlo con
esta funcin que tipear todos los nmeros uno a uno.
Veamos como usarla:
numeros=ran!e(,,
print(numeros
Lo nico que necesitamos para usar la funcin es pasarle como argumento el nmero que
deseamos alcanzarran!e(numero.
Es importante saber que la funcin genera el ciclo de nmero hasta elnmero menor al que le pasamos como argumento. Por lo que si queremos
crear 10 nmeros, debemos pasarle 11 como argumento.
Ahora veamos como hacer si quiero solo los nmero del 5 al 10:
numeros=ran!e(',,
print(numeros
Podemos observar que range tambin puede tomar dos argumentos, siendo el primero elnmero inicial y el segundo el nmero final de la serie.
Ya para finalizar veamos como hacer si solo quiero los nmeros impares del 1 al 10:
numeros=ran!e(',,"
print(numeros
7/25/2019 Python Desde Cero
25/54
Observemos que range tambin puede tomar 3 argumentos, siendo el primero el nmero
inicial y el segundo el nmero final de la serie y el tercero la cantidad de nmeros que debe
sumar entre cada iteracin.
ConclusinEn esta leccin, aprendimos como crear en Python nuestras propias funciones y como usar
las funciones que ya viene incorporadas en el lenguaje!. Si tienes alguna pregunta, yo estar
feliz de responderte en los comentarios, adems espero que te unas y le eches un vistazo a
todo el resto de este curso. Te espero la prxima semana!
7/25/2019 Python Desde Cero
26/54
Python desde Cero: Mdulos
Bienvenidos una vez ms a Python desde Cero, curso en el cual aprendemos a programar sin
conocimiento alguno. En el captulo anterior, te ensee como crear y usar funciones dentro dePython. Si eres nuevo en este curso, te recomiendo que le eches un vistazo al captulo
anterior para que te pongas en contexto (Captulo 3)
Hoy, vamos a aprender a desarrollar nuestros propios mdulos, como importarlos en nuestras
aplicaciones y a como usar los que ya vienen incorporados con el lenguaje.
Mdulos
Los mdulos en Python son grupos de funciones alojadas dentro de un archivo#py.
Como observamos en captulos anteriores, uno no puede desarrollar una aplicacin compleja
sin organizar nuestro cdigo en funciones, y mientras que nuestro programa continua
creciendo cada vez ms y ms, vamos a necesitar una manera para organizarlo a un nivel que
no se vuelva engorroso de mantener, es ah donde viene a la mano los mdulos. Con ellos
podemos organizar un grupo de funciones como si fueran un conjunto de herramientas las
cuales podemos hacer uso de ellas cada vez que las necesitemos.
Los mdulos son bastante fciles de crear, ya que son scripts sencillos de Python. Vemos
como crear un mdulo:
Vamos a necesitar abrir un nuevo archivo en un editor de texto o en un IDE
de tu preferencia. Para que el curso tenga sentido, voy a continuar con el
ejemplo que utilizamos en el ultimocaptulo, crear un carrito de compra
(ecommerce). Solo que esta vez vamos a calcular el impuesto de un articulo
en especifico dado su precio.
efcalcular2mpuesto(precioimpuesto:
precio8ue)o=precio/,**N(,**7impuesto
returnprecio8ue)o
Observemos que fue sencillo de realizar, lo que hicimos fue definir una funcin
llamadacalcular2mpuestola cual toma dos argumentosprecioyimpuesto, para luego
calcular y retornar el valor total del articulo.
http://codehero.co/python-desde-cero-funciones/http://codehero.co/python-desde-cero-funciones/http://codehero.co/python-desde-cero-funciones/http://codehero.co/python-desde-cero-funciones/7/25/2019 Python Desde Cero
27/54
Para que este cdigo sea o cumpla como un mdulo en Python, lo nico que tenemos que
hacer es guardarlo con la extensin#pyen el mismo directorio donde residen nuestros otros
scripts de la aplicacin. Vamos a guardar el archivo con el siguiente nombre:nanRas#pyy as
nuestro mdulo ser el mdulo de finanzas.
Cmo importar un mdulo?
Para usar los mdulos existen dos posibilidades, podemos usar la palabra claveimporto la
palabra clavefrom.importes la manera ms simple y ms comun de usar, ya que importa
todas las funcionalidades existentes dentro del archivo#pyen donde este alojado ese mdulo.
Veamos como importar el ejemplo anterior en donde tenamos el mdulo de finanzas
(nanRas#py):
importnanRas
Observemos que para importar el mdulo no hizo falta escribir la extensin del archivo. Una
vez que Python interprete esta linea de cdigo podemos tener a nuestra disposicin la
funcincalcular2mpuestoque definimos anteriormente.
La otra manera es usando la palabra clavefrom, la cual importar nica y exclusivamente la
funcin que uno le pasa como parmetro, es decir, imaginemos que tenemos un mdulo que
posee miles y miles de funciones, para que importar todas esas funciones dentro de nuestro
script si solo vamos a necesitar una, es en este caso donde viene a la mano elfrom. Una delas prcticas ms recomendadas dentro de Python es hacer uso de la palabrafromcuando se
esta trabajando con mdulos, ya que salva tiempo de procesamiento y recursos de la mquina
en cuestin.
Veamos como importar una funcionalidad del mdulo de finanzas:
fromnanRasimportcalcular2mpuesto
Observemos que necesitamos especificar de que mdulo queremos obtener nuestra funcin
confrom 7 >UVJEy luego la funcin que queremos importarimport 7 V8%2U8. En
nuestro caso, del mdulo definanzasimporta la funcincalcularImpuesto.
Tambin puedes importar varias funciones a la vez, solo necesitas separarlas por comas.
fromnanRasimportcalcular2mpuestocalcularescuento
Incluso puedes importar todas las funciones usando unwildcard
7/25/2019 Python Desde Cero
28/54
fromnanRasimportN
Despus de importar los mdulos, la manera de usar las funciones es la siguiente: el nombre
del mdulo, seguido de un punto, seguido del nombre de la funcin a usar. Veamos un
ejemplo:
importnanRas
printnanRas#calcular2mpuesto(,**'
Si corremos el script, debera imprimir 105. Una prueba sencilla, pero significa que nuestro
mdulo funcion a la perfeccin!
Mdulos Incorporados
Existen miles de mdulos incorporados dentro de Python. Debido a que el rango es extenso,es imposible cubrirlos todos dentro de este curso, por lo que solo me voy basar en los ms
tiles. Si quieres conocer ms sobre los mdulos incorporados en Python te invito a que le
eches un vistazo a la pgina oficial donde encontrars toda ladocumentacinnecesaria.
Veamos cuales son esos mdulos:
math
os
datetime
urllib2
math
El mdulo demathnos provee el acceso a funciones y constantes matemticas. Veamos unos
ejemplos:
importmath
math#piBPi 3#,+###
math#e B8Smero e uler "#,###
math#e!rees(" B" raianes = ,,+#'. !raos
http://docs.python.org/2/library/index.htmlhttp://docs.python.org/2/library/index.htmlhttp://docs.python.org/2/library/index.html7/25/2019 Python Desde Cero
29/54
math#raians(*B* !raos = ,#*+ raianes
math#sin(" B9eno e " raianes
math#cos(*#' B%oseno e *#' raianes
math#tan(*#"3BTan!ente e *#"3 raianes
math#factorial('B, N " N 3 N + N ' = ,"*
math#sIrt(+. B
7/25/2019 Python Desde Cero
30/54
Existe miles de funciones dentro de este mdulo te invito a que las revises todasaqu.
os
Este mdulo te permite trabajar con el sistema operativo en el cual Python este ejecutndose,ya sea Windows, Mac o Linux. Nos enfocaremos en la funcionalidadpathya que es la ms
comn.Pathnos permite manipular y encontrar propiedades de los archivos y carpetas que
existen en el sistema. Vemos unos ejemplos:
fromosimportpath
path#exists(5/Vsers/Picca5B%heIue si un irectorio existe
path#!etatime(5/Vsers5B
7/25/2019 Python Desde Cero
31/54
Al igual que en el ejemplo anterior, se descargar el HTML decodehero.copero ahora solo
nos devolver los primeros 100 caracteres. Para as despus poder extraer los trozos que nos
sean necesarios.
Existe miles de funciones dentro de este mdulo te invito a que las revises todasaqu.
Conclusin
En esta leccin, aprendimos como crear mdulos en Python, como importarlos en nuestros
programas, y como usar los mdulos que vienen incorporados en el lenguaje. Te invito a que
practiques y crees tus propios mdulos ya que lo mejor de todo es que los puedes reutilizar en
diferentes aplicaciones que ests desarrollando. Si tienes alguna pregunta, yo estar feliz de
responderte en los comentarios, adems espero que te unas y le eches un vistazo a todo el
resto de este curso. Te espero la prxima semana!
Python desde Cero: Clases, Atributos y
Mtodos
Bienvenidos una vez ms a Python desde Cero, curso en el cual aprendemos a programar sin
conocimiento alguno. En el captulo anterior, te ensee como crear mdulos en Python, comoimportarlos en nuestros programas, y como usar los mdulos que vienen incorporados en el
lenguaje. Si eres nuevo en este curso, te recomiendo que le eches un vistazo al captulo
anterior para que te pongas en contexto (Captulo 4)
Hoy, vamos a aprender a programar orientado a objetos, es decir, vamos a aprender a definir
una clase, como definir sus atributos, como instanciarla y como generar la lgica necesaria
para su completo funcionamiento.
Cmo definimos una clase?Para definir una clase en Python, solo tenemos que hacer uso de la palabra claveclass,
seguida del nombre que le quieras asignar, seguido de un doble punto. Veamos un ejemplo:
classmascota:
http://docs.python.org/2/library/urllib2.htmlhttp://codehero.co/python-desde-cero-modulos/http://docs.python.org/2/library/urllib2.htmlhttp://codehero.co/python-desde-cero-modulos/7/25/2019 Python Desde Cero
32/54
Si observamos el ejemplo, podemos apreciar que creamos una clase
llamada mascota.
Debemos resaltar dos puntos importantes a la hora de crear una clase en Python:
Cdigo identado- Todo el cdigo que va poseer la clase debe estar identando, nopuede estar a la misma altura que la declaracin de la clase ya que el interprete
levantar un error.
Sin parntesis-Cuando creamos una clase en Python no debemos colocar
parntesis despus del nombre,a menos, que quisiramos que la misma herede las
caractersticas de otra clase.
Atributos de una claseDe nada nos sirve una clase sin atributos que la definan, es por eso que debemos asignarle a
laclase mascotaalgunas propiedades. Veamos como:
classmascota:
numeroZeZpatas=*
color=CmarrMnD
Observemos que para definir los atributos, lo nico que tenemos que haceres declarar algunas variables dentro de la clase. En el ejemplo,
declaramosnumeroZeZpatasycolor, dos caractersticas de la mascota que
quisiramos guardar en el objeto. En cuanto a los atributos de una clase no
existen lmites, puedes usar cuantos t quieras para cumplir con la definicin
de ese objeto.
Es importante saber que cuando definimos atributos tenemos que estar pendiente de:
Asignarle siempre un valor- Siempre cuando declaremos un atributo en una clase
en Python,debemos asignarle un valor por defectoya que sino el intrprete dispararuna excepcin.
Nombre de atributos- Los nombres que le asignes a los atributos siempre deben ser
los ms sencillos y descriptivos posibles.
7/25/2019 Python Desde Cero
33/54
Cmo instanciar una clase?Una declaracin de una clase no es algo que uno pueda manipular directamente, es por eso
que tenemos que instanciar un objeto de esa clase para as modificar los atributos que esta
posea. Para instanciar una clase en Python, lo nico que tenemos que hacer, es asignar a unavariable el nombre de la clase seguida de parntesis. Veamos como, siguiendo el ejemplo
anterior:
classmascota:
numeroZeZpatas=*
color=CmarrMnD
perro=mascota(
Ahora que ya sabemos instanciar una
clase, Cmo modificamos sus atributos?Para referenciar una propiedad o atributo de un objeto en Python, lo nico que tenemos que
hacer es seguir la siguiente estructuranombreZ)ariable 7 # 7 nombreZatributo. Veamos
como, dado el ejemplo anterior:
perro#numeroZeZpatas
Observemos que lo que estamos haciendo, es referenciar el valor contenido
en el atributonumeroZeZpatas, es decir, estamos obteniendo el valor de la
propiedadnumeroZeZpatasdel objetoperro.
Nosotros podemos tratar es propiedad como si fuera una variable cualquiera, es por eso que
podemos modificar el valor de ese atributo. Veamos como:
classmascota:
numeroZeZpatas=*
color=CmarrMnD
perro=mascota(
perro#numeroZeZpatas=+
7/25/2019 Python Desde Cero
34/54
perro#color=Cne!roD
print5l perro tiene C 7 perro#numeroZeZpatas 7 C patas y es e color C 7 perro#color
Si ejecutamos el cdigo anterior podemos observar que nos imprime lo siguiente:
lperrotiene +patasyesecolorne!roEsto se debe a que modificamos las propiedades del objetoperro, ya que es unperrolo que
estbamos definiendo, decid asignarle 4 al nmero de patas con la siguiente
expresinperro#numeroZeZpatas = +y negro al color de la mascota con la siguiente
expresinperro#color = Cne!roD.
Cmo creamos una lgica dentro de las
clases?Okey, hasta ahora hemos visto como usar clases y objetos como estructuras o contenedores
de informacin, pero que pasa si queremos hacer tareas ms complejas con su data,
necesitamos una manera de introducir algo de lgica a esos objetos. Es en este momento
cuando losmtodosvienen a ayudarnos.
LosMtodos, son esencialmente funciones contenidas dentro de las clases. Para definir un
mtodo es exactamente la misma manera como definamos una funcin en captulos
anteriores. La nica diferencia es que esa funcin ahora pertenece a esa clase y para
invocarla tenemos que llamar primero a la variable que posee la clase para despus poder
hacer uso de ese mtodo en particular.
Para definir un mtodo debemos usar la palabra clavedef, luego, el nombre que le queramos
dar al mtodo, seguido de(self:. Veamos como definir un mtodo siguiendo los ejemplos
anteriores:
classmascota:
numeroZeZpatas=*
color=CmarrMnD
ef ormir(self:
print5RRR5
perro=mascota(
7/25/2019 Python Desde Cero
35/54
Observemos que definimos un mtodo dentro de la clase mascota
llamadoormir. La funcin de este mtodo es imprimirzzzcada vez que
lo invoquemos.
Para que un mtodo funcione dentro de una clase es necesario cumplir con lo siguiente:
Extra identado- Todo el bloque del cdigo que vas a definir para ese mtodo va tener
que poseer un extra de identacin para que el interprete de Python lo entienda.
Siempre debe poseer un argumento self- Cada vez que declares un mtodo en
Python, vas a tener que agregarle el argumentoselfpara que cuando ese mtodo sea
invocado, Python le pase el objeto instanciado y as pueda operar con los valores
actuales de esa instancia. Si no incluyes ese argumento y ejecutas el cdigo Python
disparar una excepcin y el programa se detendr.
Si quieres pasarle argumentos creados por ti al mtodo, lo haces como si pasars mltiplesargumentos a una funcin. Para mayor informacin sobre como pasar argumentos a una
funcin, revisa elcaptulo sobre funciones.
Ahora, Cmo usamos ese mtodo que acabamos de crear?. Sencillo, lo nico que tenemos
que hacer es instanciar una clasemascotay luego, a travs de ella, invocar al mtododormir.
Veamos como:
classmascota:
numeroZeZpatas=*
color=CmarrMnD
ef ormir(self:
print5RRR5
perro=mascota(
perro#ormir(
Observemos que al final del script invocamos al mtodo dormir cuandoejecutamos esta instruccinperro#ormir(. Siempre para referenciar las
funciones debemos usar el siguiente esquemanombreZ)ariable 7 # 7
nombreZm[too 7 (. Es importante destacar que no debemos pasarle
ningn atributo al mtodo ya que Python lo hace por nosotros para
satisfacer el argumentoself, es decir, Python automticamente le pasa
http://codehero.co/python-desde-cero-funciones/http://codehero.co/python-desde-cero-funciones/http://codehero.co/python-desde-cero-funciones/http://codehero.co/python-desde-cero-funciones/7/25/2019 Python Desde Cero
36/54
como argumento la instancia de ese objeto al mtodo que estemos
invocando.
Si ejecutamos el cdigo anterior, debemos observar que imprime el mensaje que escribimos
en el mtodo.
RRR
ConclusinEn esta leccin, aprendimos a programar orientado a objetos, es decir, aprendimos como
definir una clase, como definir sus atributos, como instanciarla y como generar la lgica
necesaria para su completo funcionamiento. Si tienes alguna pregunta, yo estar feliz de
responderte en los comentarios, adems espero que te unas y le eches un vistazo a todo el
resto de este curso. Te espero la prxima semana!
7/25/2019 Python Desde Cero
37/54
Python desde Cero: Bases de Datos
Bienvenidos una vez ms a Python desde Cero, curso en el cual aprendemos a programar sin
conocimiento alguno. En el captulo anterior, te ensee a programar orientado a objetos, esdecir, aprendimos como definir una clase, como definir sus atributos, como instanciarla y como
generar la lgica necesaria para su completo funcionamiento. Si eres nuevo en este curso, te
recomiendo que le eches un vistazo al captulo anterior para que te pongas en contexto
(Captulo 5 - Clases, Atributos y Mtodos)
Hoy, vamos a aprender todo lo relacionado con el mduloMySQLdb, en otras palabras,
aprenderemos a conectarnos a una base de datos MySql, a crear tablas, y a como insertar,
obtener, modificar y eliminar registros de la base da datos usando el API de Python para BD.
Bases de Datos
El estndar de Python para las interfaces de bases de datos es elPython DB-API. La mayora
de las interfaces de bases de datos de Python se adhieren a este estndar, por lo que dicho
API es compatible con una amplia gama de servidores de bases de datos, entre ellos:
GadFly
mSQL
MySQL
PostgreSQL
Microsoft SQL Server 2000
Informix
Interbase
Oracle
Sybase
http://codehero.co/python-desde-cero-clases-atributos-y-metodos/http://codehero.co/python-desde-cero-clases-atributos-y-metodos/7/25/2019 Python Desde Cero
38/54
Si quieres saber ms informacin sobre la listas de base de datos
compatible con Python te recomiendo que visitesInterfaces y APIs de
bases de datos para Python.
Es importante resaltar que si quieres hacer uso de una base de datosdigamos Oracle (por poner un ejemplo) vas a tener que descargar el mdulo
respectivo para este tipo de base de datos.
Qu es MySQLdb?
MySQLdb es una interfaz para la conexin a un servidor de base de datos MySQL desdePython.
Cmo instalar MySQLdb?
Antes de continuar, vamos a asegurarnos de que no tengamos instalado MySQLdb en
nuestras mquinas. Creemos un script con lo siguiente y ejecutemoslo:
B?/usr/bin/python
import>y9\Jb
Si se produce el siguiente error entonces significa que el mdulo deMySQLdbno est
instalado en nuestra mquina:
Traceback(mostrecentcalllast:
ile5prueba#py5line3inmoule6
import>y9\Jb
2mportrror:8omoulename>y9\Jb
Existen dos formas para instalar el mdulo deMySQLdb, la manera sencilla, ejecutando el
siguiente comando:
$ pip install >y9\J-python
http://wiki.python.org/moin/DatabaseInterfaceshttp://wiki.python.org/moin/DatabaseInterfaceshttp://wiki.python.org/moin/DatabaseInterfaceshttp://wiki.python.org/moin/DatabaseInterfaces7/25/2019 Python Desde Cero
39/54
y la manera engorrosa, donde debemos descargar deDescargas MySQLdbel mdulo, y una
vez descargado ejecutamos los siguientes comandos:
$ !unRip >y9\J-python-,#"#"#tar#!R
$ tar -x)f >y9\J-python-,#"#"#tar
$ c >y9\J-python-,#"#"
$ python setup#py buil
$ python setup#py install
Asegrate de tener los privilegios de root para realizar la instalacin.
Conexin a la base de datos
Antes de conectarnos a una base de datos en MySQL asegrate de cumplir con lo siguiente:
Haber creado una base de datos llamadaprueba_db.
Haber creado un usuario de conexin que posea las siguientes
caractersticas:usuario: usuariopruebayclave: prueba123.
La mejor manera de ver y entender como conectarnos a una base de datos en Python es atravs de un ejemplo:
B?/usr/bin/python
import>y9\Jb
B stablecemos la conexiMn con la base e atos
b=>y9\Jb#connect(5localhost55usuarioprueba55prueba,"355pruebaZb5
B Preparamos el cursor Iue nos )a a ayuar a realiRar las operaciones con la base eatos
cursor=b#cursor(
http://sourceforge.net/projects/mysql-python/http://sourceforge.net/projects/mysql-python/7/25/2019 Python Desde Cero
40/54
B ecutamos un Iuery 9\J usano el m[too execute( Iue nos proporciona el cursor
cursor#execute(59J%T ]
7/25/2019 Python Desde Cero
41/54
import>y9\Jb
B stablecemos la conexiMn con la base e atos
b=>y9\Jb#connect(5localhost55usuarioprueba55prueba,"355pruebaZb5
B Preparamos el cursor Iue nos )a a ayuar a realiRar las operaciones con la base eatos
cursor=b#cursor(
B %reamos la tabla empleao
sIl=5%PJAE (
8E>F
7/25/2019 Python Desde Cero
42/54
La operacininsertares necesario si deseas crear registros en una tabla de base de datos.
Veamos como insertar un empleado dentro de la tablaEMPLEADOque creamos
anteriormente.
B?/usr/bin/python
import>y9\Jb
B stablecemos la conexiMn con la base e atos
b=>y9\Jb#connect(5localhost55usuarioprueba55prueba,"355pruebaZb5
B Preparamos el cursor Iue nos )a a ayuar a realiRar las operaciones con la base e
atoscursor=b#cursor(
B Preparamos el Iuery 9\J para insertar un re!istro en la F
sIl=5289PJAE (8E>F
7/25/2019 Python Desde Cero
43/54
Observemos que para que los cambios sean efectuados en la base de
datos es necesario usarb#commit(. Si queremos reversar los cambios
efectuados podemos usarb#rollback(.
Cmo obtenemos todos los empleados
registrados en la base de datos?
La operacinlecturaes necesaria si quieres buscar informacin dentro de la base de datos.
Veamos los mtodos ms usados a la hora de ejecutar un lectura en la base de datos desde
Python:
fetchone()- Este mtodo obtiene la primera fila de un conjunto de resultados de unaconsulta a la BD.
fetchall()- Este mtodo obtiene todos los registros de un conjunto de resultados de
una consulta a la BD.
rowcount- Este es un atributo de slo lectura y devuelve el nmero de filas afectadas
por el mtodoexecute.
Veamos como obtener todos los registros de la tablaEMPLEADO:
B?/usr/bin/python
import>y9\Jb
B stablecemos la conexiMn con la base e atos
b=>y9\Jb#connect(5localhost55usuarioprueba55prueba,"355pruebaZb5
B Preparamos el cursor Iue nos )a a ayuar a realiRar las operaciones con la base eatos
cursor=b#cursor(
B Preparamos el Iuery 9\J para obtener toos los empleaos e la F
7/25/2019 Python Desde Cero
44/54
sIl=59J%T N >PJAE5
try:
B ecutamos el comano
cursor#execute(sIl
B Ebtenemos toos los re!istros en una lista e listas
resultaos=cursor#fetchall(
forre!istroinresultaos:
nombre=re!istro0*4
apellio=re!istro0,4
ea=re!istro0"4
sexo=re!istro034
salario=re!istro0+4
B 2mprimimos los resultaos obtenios
print5nombre=Os apellio=Os ea=O sexo=Os salario=O5O(nombreapellioeasexosalario
except:
print5rror: 8o se puo obtener la ata5
B 8os esconectamos e la base e atos
b#close(
Si has seguido los ejemplos anteriores y ejecutas el script, debers obtener un solo empleado
ya que solo habamos insertado un solo registro:
nombre=%arlosapellio=Piccaea="+sexo=>salario="***
Cmo modificamos a un empleado en labase de datos?
La operacinactualizacinsignifica actualizar uno o ms registros que ya estn disponibles
en la base de datos. Veamos como modificar la edad de un empleado cuyo salario sea igual
a"***:
7/25/2019 Python Desde Cero
45/54
B?/usr/bin/python
import>y9\Jb
B stablecemos la conexiMn con la base e atos
b=>y9\Jb#connect(5localhost55usuarioprueba55prueba,"355pruebaZb5
B Preparamos el cursor Iue nos )a a ayuar a realiRar las operaciones con la base eatos
cursor=b#cursor(
B Preparamos el Iuery 9\J para moicar el re!istro
sIl=5VPAT >PJAE 9T A = A 7 , _H
7/25/2019 Python Desde Cero
46/54
La operacineliminares necesario si desea eliminar uno o varios registros de la base de
datos. Veamos como eliminar a un empleado cuyo apellido sea igual aPicca:
B?/usr/bin/python
import>y9\Jb
B stablecemos la conexiMn con la base e atos
b=>y9\Jb#connect(5localhost55usuarioprueba55prueba,"355pruebaZb5
B Preparamos el cursor Iue nos )a a ayuar a realiRar las operaciones con la base eatos
cursor=b#cursor(
B Preparamos el Iuery 9\J para eliminar al empleao
sIl=5JT >PJAE _H
7/25/2019 Python Desde Cero
47/54
obtener, modificar y eliminar registros de la base da datos usando el API de Python para BD.
Si tienes alguna pregunta, yo estar feliz de responderte en los comentarios, adems espero
que te unas y le eches un vistazo a todo el resto de este curso. Te espero la prxima semana!
7/25/2019 Python Desde Cero
48/54
Python desde Cero: Manejo de Archivos
Bienvenidos una vez ms a Python desde Cero, curso en el cual aprendemos a programar sin
conocimiento alguno. En el captulo anterior, te ensee todo lo relacionado con el mduloMySQLdb, en otras palabras, aprendimos a conectarnos a una base de datos MySql, a crear
tablas, y a como insertar, obtener, modificar y eliminar registros de la base da datos usando el
API de Python para BD. Si eres nuevo en este curso, te recomiendo que le eches un vistazo al
captulo anterior para que te pongas en contexto (Captulo 6 - Bases de Datos)
Hoy, vamos a aprender todo lo relacionado con el manejo de archivos en Python, desde como
abrirlo hasta como escribir y leer informacin del mismo.
Cmo abrimos un archivo?Antes de que podamos leer o escribir un archivo, hay que abrirlo con la funcin de
Pythonopen(. Esta funcin crea un objetoarchivoque se utiliza para llamar a otros mtodos
de apoyo asociados. Veamos cual es la sintaxis:
obectoZarchi)o=open(leZname0accessZmoe40bu`erin!4
Describamos un poco los argumentos de la funcin:
file_name- Nombre del archivo que se desea acceder.
access_mode- Determina el modo en el que el archivo tiene que ser abierto, es decir.leer, escribir, etc. El modo de acceso de archivos por defecto es delectura.
buffering- Si el valor de bfer se establece en 0, ningn almacenamiento temporal se
llevar a cabo. Si el valor es 1, el bfer se realizara por linea.
Aqu est una lista con los diferentes modos de apertura de un archivo:
Modo
s Descripcin
r Abre un archivo de slo lectura. El puntero del archivo se coloca en el principio del archivo
predeterminado.
rb Abre un archivo de slo lectura en formato binario.
http://codehero.co/python-desde-cero-bases-de-datos/http://codehero.co/python-desde-cero-bases-de-datos/7/25/2019 Python Desde Cero
49/54
Modo
s Descripcin
r+ Abre un archivo para lectura y escritura. El puntero del archivo estar en el principio del ar
rb+ Abre un archivo para la lectura y la escritura en formato binario. El puntero del archivo esta
archivo.
w Abre un archivo para escribir solamente. Sobrescribe el archivo si el archivo existe. Si el ar
nuevo archivo para escritura.
wb Abre un archivo para escribir slo en formato binario. Sobrescribe el archivo si el archivo e
existe, se crea un nuevo archivo para escritura.
w+ Abre un fichero para escritura y lectura. Sobrescribe el archivo existente si existe el archivocrea un nuevo archivo para la lectura y la escritura.
wb+ Abre un archivo, tanto para la escritura y la lectura en formato binario. Sobrescribe el archi
archivo. Si el archivo no existe, se crea un nuevo archivo para la lectura y la escritura.
Cules son los atributos ms importantes
de un archivo?Una vez que hemos abierto el archivo, podemos obtener la informacin relacionada a el
mismo. Veamos una lista con todos los atributos ms importantes relacionados al tipo de
objeto:
Atributo Descripcin
objetoarchivo.closed !evuelve true si el archivo est cerrado, false en caso contrario.
objetoarchivo.mode !evuelve el modo de acceso con el "ue se abri el archivo.
7/25/2019 Python Desde Cero
50/54
Atributo Descripcin
objetoarchivo.name !evuelve el nombre del archivo.
Veamos un ejemplo sobre como utilizar todo lo que hemos visto hasta ahora:
B?/usr/bin/python
B Abrimos el archi)o coehero#txt
fo=open(5coehero#txt55wb5
print58ombre el archi)o : 5fo#name
print5%errao o no : 5fo#close
print5>oo e apertura : 5fo#moe
Si ejecutamos el script anterior debemos obtener el siguiente resultado:
8ombreelarchi)o: coehero#txt
%erraoono: alse
>ooeapertura: wb
Cmo cerramos un archivo?Para cerrar un archivo usamos el mtodoclose(, el cual limpia cualquier informacin que no
haya sido escrita y cierra el archivo. Despus que este mtodo es ejecutado no podemos
ejecutar ninguna escritura.
Python automticamente cierra el archivo una ves que la referencia del objeto es asignada a
un nuevo archivo.
Es una buena practica hacer uso del mtodoclose()para cerrar los
archivos una vez que terminemos de trabajar con ellos.
Veamos la sintaxis que debemos usar:
obectoZarchi)o#close(
Veamos como usarclose(con un ejemplo:
7/25/2019 Python Desde Cero
51/54
B?/usr/bin/python
B Abrimos el archi)o coehero#txt
fo=open(5coehero#txt55wb5
print58ombre el archi)o: 5fo#name
B %erramos el archi)o coehero#txt
fo#close(
Si ejecutamos el script anterior obtenemos:
8ombreelarchi)o: coehero#txt
Cmo escribir un archivo?En Python para escribir informacin en un archivo usamos el mtodowrite(.
Es importante tener en cuenta que las cadenas de caracteres(strings) de
Python pueden tener datos binarios y no slo de texto.
El mtodowrite(no aade un carcter de nueva lnea ('\ n') al final de la
cadena.
Veamos la sintaxis para poder escribir en un archivo:
obectoZarchi)o#write(strin!
Observemos questrin!es el texto que queremos escribir en el archivo.
Veamos como usarwrite(con un ejemplo:
B?/usr/bin/python
B Abrimos el archi)o coehero#txt
fo=open(5/tmp/coehero#txt55wb5
fo#write(5%oehero es una !ran pa!ina para aprener a pro!ramar Python#&n9Q!uenosen coeheroblo!??&n5
7/25/2019 Python Desde Cero
52/54
B %erramos el archi)o coehero#txt
fo#close(
Si ejecutamos el script anterior obtenemos:
%oeheroesuna!ranpa!inaparaaprenerapro!ramarPython#9Q!uenosencoeheroblo!??
Cmo leer un archivo?En Python para leer informacin de un archivo usamos el mtodorea(.
Es importante tener en cuenta que las cadenas de caracteres(strings) de
Python pueden tener datos binarios y no slo de texto.
Veamos la sintaxis para poder leer un archivo:
obectoZarchi)o#rea(0count4
Observemos quecountes el numero de bytes a leer del archivo.
Veamos como usarrea(con un ejemplo:
B?/usr/bin/python
B Abrimos el archi)o coehero#txt
fo=open(5/tmp/coehero#txt55r75
str=fo#rea(,*
print5Ja lectura es : 5str
B %erramos el archi)o coehero#txt
fo#close(
Si ejecutamos el script anterior obtenemos:
Jalecturaes:%oeheroes
7/25/2019 Python Desde Cero
53/54
Cmo renombramos un archivo?En Python para renombrar un archivo usamos el mtodorename(.
Veamos la sintaxis para poder renombrar un archivo:
os#rename(currentZleZnamenewZleZname
Observemos quecurrentZleZnamees el nombre del archivo que queremos
renombrar ynewZleZnamees el nuevo nombre que le queremos dar.
Veamos cmo usarrename(con un ejemplo:
B?/usr/bin/python
importos
B
7/25/2019 Python Desde Cero
54/54
estar feliz de responderte en los comentarios, adems espero que te unas y le eches un
vistazo a todo el resto de este curso.
Nos vemos en la prxima serie de Python,Python Avanzado!
Hasta entonces...!