<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LuAuF &#187; Python</title>
	<atom:link href="http://luauf.com/category/programacion/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://luauf.com</link>
	<description></description>
	<lastBuildDate>Fri, 27 Jan 2012 01:44:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Go, la noticia de la semana</title>
		<link>http://luauf.com/2009/11/15/go-la-noticia-de-la-semana/</link>
		<comments>http://luauf.com/2009/11/15/go-la-noticia-de-la-semana/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 05:48:26 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[garbage colector]]></category>
		<category><![CDATA[Ken Thompson]]></category>
		<category><![CDATA[Lenguajes]]></category>
		<category><![CDATA[Objetos]]></category>
		<category><![CDATA[Phyton]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1129</guid>
		<description><![CDATA[En la semana una noticia ocupó a la mayoría de los blogs: Go, un nuevo lenguaje de programación. La noticia hubiera pasado desapercibida de no ser porque Go es un nuevo lanzamiento de Google! Go se promociona a si mismos como un lenguaje: rápido: el código compilado en Go corre tan rápido como el código [...]]]></description>
			<content:encoded><![CDATA[<p>En la semana una noticia ocupó a la mayoría de los blogs: Go, un nuevo lenguaje de programación. La noticia hubiera pasado desapercibida de no ser porque Go es un nuevo lanzamiento de Google!</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/11/logo-153x55.png"><img class="aligncenter size-full wp-image-1130" title="logo-153x55" src="http://luauf.com/wp-content/uploads/2009/11/logo-153x55.png" alt="logo-153x55" width="153" height="55" /></a></p>
<p>Go se promociona a si mismos como un lenguaje:</p>
<ul>
<li>rápido: el código compilado en Go corre tan rápido como el código compilado en C o C++.</li>
<li>seguro: garantiza seguridad en el manejo de memoria, tiene punteros pero no utiliza la aritmética de punteros que convierten en engorrosa la programación y dan lugar a memory leaks, memory slices y ese otro tipo de males.</li>
<li>concurrente: promueve la escritura de procesos ligeros, comunicados entre si y ejecutar miles de rutinas diciendo adios a los desbordamientos de pila</li>
<li>divertido: sintaxis clara, garbage collector, métodos de cualquier tipo, etc. Go luce como un lenguaje dinámico (Phyton) pero tiene la velocidad y seguridad de un lenguaje estático (C, C++).</li>
<li>código abierto: distribuido bajo licencia BSD</li>
</ul>
<p><span id="more-1129"></span> En términos generales, Go es un lenguaje de proposito general, orientado a objetos y open source, que basa su publicidad en la fusión de las mejores características de C y C++ con Python. Go es la respuesta a la ausencia de un lenguaje que fuese eficiente a la hora de compilar y fàcil a la hora de programar.</p>
<p>Para conocer un poco más, el video de promoción:</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/wwoWei-GAPo&amp;hl=es_ES&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/wwoWei-GAPo&amp;hl=es_ES&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>El video de presentación (de casi una hora):</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/rKnDgT73v8s&amp;hl=es_ES&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/rKnDgT73v8s&amp;hl=es_ES&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>El enlace a la web oficial: <a href="http://golang.org/">The Go Programming Language</a></p>
<p>Una curiosidad: ¿sabías en que estaba trabajando <a href="http://http://luauf.com/2009/06/22/se-acerca-el-viejazo-o-segunda-adolescencia-para-unix/">Ken Thompson</a> para Google? bien&#8230; aquí tenemos la respuesta <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2009/11/15/go-la-noticia-de-la-semana/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Aprenda a Pensar Como un Programador&#8230; con Python</title>
		<link>http://luauf.com/2009/06/10/una-descarga-interesante-aprenda-a-pensar-como-un-programador-con-python/</link>
		<comments>http://luauf.com/2009/06/10/una-descarga-interesante-aprenda-a-pensar-como-un-programador-con-python/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 09:00:33 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[aprender]]></category>
		<category><![CDATA[descargas]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[Libros]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1039</guid>
		<description><![CDATA[Para el día de hoy les recomiendo la descarga de un interesante ebook: &#8220;Aprenda a Pensar Como un Programador con Python&#8220; Se trata de un libro digital, está en español, es gratuito (disponible bajo licencia GNU Free Documentation License) y no se trata de un manual, sino de una introducción a la programación de la [...]]]></description>
			<content:encoded><![CDATA[<p>Para el día de hoy les recomiendo la descarga de un interesante ebook: &#8220;<strong>Aprenda a Pensar Como un Programador con Python</strong>&#8220;</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/06/pythonlogo.jpg"><img class="alignnone size-thumbnail wp-image-1042" title="pythonlogo" src="http://luauf.com/wp-content/uploads/2009/06/pythonlogo-150x150.jpg" alt="pythonlogo" width="150" height="150" /></a></p>
<p>Se trata de un libro digital, está en español, es gratuito (disponible bajo licencia GNU Free Documentation License) y no se trata de un manual, sino de una introducción a la programación de la mano de Python.</p>
<p>Ideal para quienes se inician en la programación y también para los que desean conocer las técnicas básicas de la programación en Python.</p>
<p><span id="more-1039"></span></p>
<ul>
<li>Titulo: <strong>Aprenda a Pensar Como un Programador con Python</strong></li>
<li>Idioma: <strong>español</strong></li>
<li>Autores: <strong>Allen Downey , Jeﬀrey Elkner ,Chris Meyers </strong></li>
<li>Páginas: <strong>312</strong></li>
<li>Página oficial: <strong><a href="http://www.greenteapress.com">http://www.greenteapress.com</a></strong></li>
<li>Descarga: <strong><a href="http://manuales.gfc.edu.co/python/thinkCSpy.es.pdf" target="_blank">http://manuales.gfc.edu.co/python/thinkCSpy.es.pdf</a></strong></li>
</ul>
<p>Vía: <a href="http://www.tipete.com/userpost/ebook/python-aprender-pensar-como-programador-de-python-ebook">tipete.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2009/06/10/una-descarga-interesante-aprenda-a-pensar-como-un-programador-con-python/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Matemáticas en Java</title>
		<link>http://luauf.com/2009/04/01/matematicas-en-java/</link>
		<comments>http://luauf.com/2009/04/01/matematicas-en-java/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 04:00:08 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Clases]]></category>
		<category><![CDATA[matematica]]></category>
		<category><![CDATA[math]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=884</guid>
		<description><![CDATA[Como todo lenguaje, Java también se dedica a las Matemáticas y lo hace a través de la clase java.lang.Math, con la particularidad que todos sus métodos son estáticos. Además, la clase java.lang.Math tiene algo de historia, ya que mientras antes implementaba por su cuenta todos los métodos, hoy utiliza la clase java.lang.StrictMath para implementarlos. La [...]]]></description>
			<content:encoded><![CDATA[<p>Como todo lenguaje, Java también se dedica a las Matemáticas y lo hace a través de la clase <strong>java.lang.Math</strong>, con la particularidad que todos sus métodos son estáticos.</p>
<p>Además, la clase java.lang.Math tiene algo de historia, ya que mientras antes implementaba por su cuenta todos los métodos, hoy utiliza la clase <strong>java.lang.StrictMath</strong> para implementarlos. La clase StrictMath utiliza para sus cálculos librerías nativas escritas en C, lo que le asegura mejor perfonmance en varias operaciones.</p>
<p><span id="more-884"></span></p>
<p>Ahora, para conocer un poco mejor a la clase veremos algunos ejemplos:</p>
<ul>
<li><strong>Constantes matemáticas</strong></li>
</ul>
<div class="syntax_hilite">
<div id="java-4">
<div class="java"><a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"pi = "</span> + <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">PI</span><span style="color: #66cc66;">&#41;</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"e  = "</span> + <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">E</span><span style="color: #66cc66;">&#41;</span>;</div>
</div>
</div>
<p></p>
<ul>
<li><strong>Funciones trigonométricas</strong></li>
</ul>
<div class="syntax_hilite">
<div id="java-5">
<div class="java"><span style="color: #993333;">double</span> val = <span style="color: #cc66cc;">0</span>;<br />
<span style="color: #993333;">double</span> ang = <span style="color: #cc66cc;">45</span>;</p>
<p><span style="color: #993333;">double</span> rad = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">toRadians</span><span style="color: #66cc66;">&#40;</span>ang<span style="color: #66cc66;">&#41;</span>;</p>
<p>val = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">cos</span><span style="color: #66cc66;">&#40;</span>rad<span style="color: #66cc66;">&#41;</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"Coseno de "</span> + ang + <span style="color: #ff0000;">"º = "</span> + val<span style="color: #66cc66;">&#41;</span>;</p>
<p>val = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">sin</span><span style="color: #66cc66;">&#40;</span>rad<span style="color: #66cc66;">&#41;</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"Seno de "</span> + ang + <span style="color: #ff0000;">"º = "</span> + val<span style="color: #66cc66;">&#41;</span>;</p>
<p>val = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">tan</span><span style="color: #66cc66;">&#40;</span>rad<span style="color: #66cc66;">&#41;</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"Tangente de "</span> + ang + <span style="color: #ff0000;">"º = "</span> + val<span style="color: #66cc66;">&#41;</span>;</p>
<p>val = <span style="color: #cc66cc;">0</span>.<span style="color: #cc66cc;">707</span>;<br />
rad = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">acos</span><span style="color: #66cc66;">&#40;</span>val<span style="color: #66cc66;">&#41;</span>;<br />
ang = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">toDegrees</span><span style="color: #66cc66;">&#40;</span>rad<span style="color: #66cc66;">&#41;</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"Arco Coseno de "</span> + val + <span style="color: #ff0000;">" = "</span> + ang + <span style="color: #ff0000;">"º"</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>rad = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">asin</span><span style="color: #66cc66;">&#40;</span>val<span style="color: #66cc66;">&#41;</span>;<br />
ang = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">toDegrees</span><span style="color: #66cc66;">&#40;</span>rad<span style="color: #66cc66;">&#41;</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"Arco Seno de "</span> + val + <span style="color: #ff0000;">" = "</span> + ang + <span style="color: #ff0000;">"º"</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>rad = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">atan</span><span style="color: #66cc66;">&#40;</span>val<span style="color: #66cc66;">&#41;</span>;<br />
ang = <a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">toDegrees</span><span style="color: #66cc66;">&#40;</span>rad<span style="color: #66cc66;">&#41;</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"Arco Tangente de "</span> + val + <span style="color: #ff0000;">" = "</span> + ang + <span style="color: #ff0000;">"º"</span><span style="color: #66cc66;">&#41;</span>;</div>
</div>
</div>
<p></p>
<ul>
<li><strong>Potenciación, radicación y logaritmos</strong></li>
</ul>
<div class="syntax_hilite">
<div id="java-6">
<div class="java"><span style="color: #993333;">int</span> val=<span style="color: #cc66cc;">2</span>;<br />
<span style="color: #993333;">int</span> exp=<span style="color: #cc66cc;">6</span>;</p>
<p><a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span> val + <span style="color: #ff0000;">" elevado "</span> + exp + <span style="color: #ff0000;">" = "</span> + java.<span style="color: #006600;">lang</span>.<a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">pow</span><span style="color: #66cc66;">&#40;</span>val,exp<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;</p>
<p>val=<span style="color: #cc66cc;">64</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">"Raiz cuadrada de "</span> + val + <span style="color: #ff0000;">" = "</span> + java.<span style="color: #006600;">lang</span>.<a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">sqrt</span><span style="color: #66cc66;">&#40;</span>val<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;</p>
<p>val = <span style="color: #cc66cc;">256</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">"Logaritmo en base 2 de "</span> + val + <span style="color: #ff0000;">" = "</span> + java.<span style="color: #006600;">lang</span>.<a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">log10</span><span style="color: #66cc66;">&#40;</span>val<span style="color: #66cc66;">&#41;</span>/java.<span style="color: #006600;">lang</span>.<a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">log10</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;</p>
<p><a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">"Logaritmo natural de "</span> +  java.<span style="color: #006600;">lang</span>.<a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">E</span>  + <span style="color: #ff0000;">" = "</span> + java.<span style="color: #006600;">lang</span>.<a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">log</span><span style="color: #66cc66;">&#40;</span>java.<span style="color: #006600;">lang</span>.<a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Math</span></a>.<span style="color: #006600;">E</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">"(¿acaso esperabas otra resultado?)"</span> <span style="color: #66cc66;">&#41;</span>;</div>
</div>
</div>
<p></p>
<p>Vía: <a href="http://lefunes.wordpress.com/2009/03/14/la-clase-javalangmath-i/">Le Funes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2009/04/01/matematicas-en-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Devolver más de un valor en funciones de Python</title>
		<link>http://luauf.com/2008/12/26/devolver-mas-de-un-valor-en-funciones-de-python/</link>
		<comments>http://luauf.com/2008/12/26/devolver-mas-de-un-valor-en-funciones-de-python/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 11:49:10 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[funciones]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=744</guid>
		<description><![CDATA[Cada artículo publicado acerca de Python en este blog ha sido para hacer algún tipo de introducción al lenguaje o para maravillarnos con sus cualidades. Siguiendo la regla, este artículo trata de una caractarística muy llamativa del lenguaje: funciones que devuelven más de un valor. Es común encontrarnos con situaciones en las que nuestras funciones [...]]]></description>
			<content:encoded><![CDATA[<p>Cada artículo publicado acerca de <a href="http://luauf.com/tag/python/">Python en este blog</a> ha sido para hacer algún tipo de introducción al lenguaje o para maravillarnos con sus cualidades. Siguiendo la regla, este artículo trata de una caractarística muy llamativa del lenguaje:<strong> funciones que devuelven más de un valor</strong>.</p>
<p>Es común encontrarnos con situaciones en las que nuestras funciones deberían devolvernos más de un valor. Esto es común resolverlo enviando como parámetros de la función las referencias a las variables que deseamos obtener o bien recurriendo a colecciones, hashtables, etc. Python, en cambio, incorpora una forma mucho más elegante como intuitiva de resolver este problema.</p>
<p><span id="more-744"></span></p>
<p>Veamos, sino, el siguiente ejemplo:</p>
<div class="syntax_hilite">
<div id="python-9">
<div class="python"><span style="color: #ff7700;font-weight:bold;">def</span> masUnoMasDos<span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff7700;font-weight:bold;">return</span> x+<span style="color: #ff4500;">1</span>, x+<span style="color: #ff4500;">2</span><br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">""</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"masUnoMasDos()"</span><br />
&nbsp;<br />
a,b = masUnoMasDos<span style="color: black;">&#40;</span><span style="color: #ff4500;">7</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"x+1 = "</span>+<span style="color: #008000;">str</span><span style="color: black;">&#40;</span>a<span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"x+2 = "</span>+<span style="color: #008000;">str</span><span style="color: black;">&#40;</span>b<span style="color: black;">&#41;</span></div>
</div>
</div>
<p></p>
<p>¿Te quedó alguna duda? Mira este sino:</p>
<div class="syntax_hilite">
<div id="python-10">
<div class="python"><span style="color: #ff7700;font-weight:bold;">def</span> rojo<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">255</span>, <span style="color: #ff4500;">0</span>, <span style="color: #ff4500;">0</span><br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">""</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"rojo()"</span><br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">print</span> rojo<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"---------"</span><br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">def</span> rojoHexa<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">"ff"</span>, <span style="color: #483d8b;">"00"</span>, <span style="color: #483d8b;">"00"</span><br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">""</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"rojoHexa()"</span><br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">print</span> rojoHexa<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div>
</div>
</div>
<p></p>
<p>Si no tienes Python instalado y te interesa probar estos ejemplos puedes utilizar <a href="http://luauf.com/2008/08/04/codepad-compilador-e-interprete-on-line/">codepad</a>.</p>
<p>Vía: <a href="http://nuevosprogramadores.com/2008/11/python-funciones-que-devuelven-mas-de-un-valor/" target="_blank">Nuevos Programadores</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/12/26/devolver-mas-de-un-valor-en-funciones-de-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strings functions en Python</title>
		<link>http://luauf.com/2008/08/24/strings-functions-en-python/</link>
		<comments>http://luauf.com/2008/08/24/strings-functions-en-python/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 19:49:50 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Strings]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=636</guid>
		<description><![CDATA[Esta publicación no tendrá mucho valor para quienes saben de Python o se dedican al desarrollo en este lenguaje. Para quienes no se encuentren en este grupo, quizás se sorprendan tanto como yo con la simplicidad con que Python maneja las cadenas de texto. A continuación, veremos algunos métodos del objeto string en Python a [...]]]></description>
			<content:encoded><![CDATA[<p>Esta publicación no tendrá mucho valor para quienes saben de Python o se dedican al desarrollo en este lenguaje. Para quienes no se encuentren en este grupo, quizás se sorprendan tanto como yo con la simplicidad con que Python maneja las cadenas de texto.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/python_strings.png"><img class="alignnone size-medium wp-image-637" title="python_strings" src="http://luauf.com/wp-content/uploads/2008/08/python_strings-140x300.png" alt="" width="140" height="300" /></a></p>
<p>A continuación, veremos algunos métodos del objeto string en Python a través de ejemplos muy sencillos. Cualquiera de estos ejemplos los puedes probar desde un shell interactivo de Python y si no tienes instalado el interprete Python en tu sistema, no es excusa, pues puedes usar <a href="http://luauf.com/2008/08/04/codepad-compilador-e-interprete-on-line/">codepad, el interprete online</a>.</p>
<p><span id="more-636"></span></p>
<p><CODELINE>&gt;&gt;&gt; s="Hola Mundo"<br />
</CODELINE></p>
<p><strong>Extracción de subcadenas: </strong>las cadenas en Python son almacenadas en un array, así por ejemplo s[0]="M". Los índices del array se pueden especificar como un par separado por dos puntos, esto retornará una subcadena desde el primer índice al último. También pueden omitirse uno de los índices, si se omite el primero indica el inicio de la cadena y la omisión del último indica el fin de la cadena. También pueden especificarse índices negativos, donde -1 es el último caracter.</p>
<p><CODELINE>&gt;&gt;&gt; print s[2]<br />
l<br />
&gt;&gt;&gt; print s[5:10]<br />
Mundo<br />
&gt;&gt;&gt; print s[:4]<br />
Hola<br />
&gt;&gt;&gt; print s[8:]<br />
do<br />
&gt;&gt;&gt; print s[-5:-2]<br />
Mun<br />
</CODELINE></p>
<p><strong>int len(string): </strong>retorna la longitud de una cadena.</p>
<p><strong>int count(sub [,start[,end]]):</strong> retorna el número de ocurrencias de una cadena dentro de otra, por ejemplo:</p>
<p><CODELINE>&gt;&gt;&gt; print s.count("Hola")<br />
1<br />
&gt;&gt;&gt; print s.count("o")<br />
2<br />
</CODELINE></p>
<p><strong>boolean endswidth(sub [,start[,end]]):</strong> retorna verdadero o falso si una cadena termina con la cadena especificada.</p>
<p><CODELINE>&gt;&gt;&gt; print s.endswith("do")<br />
True<br />
&gt;&gt;&gt; print s.endswith("d")<br />
False<br />
</CODELINE></p>
<p><strong>boolean startswidth(sub [,start[,end]]):</strong> similar a endswidth.</p>
<p><CODELINE>&gt;&gt;&gt; print s.startswith("Hola")<br />
True<br />
&gt;&gt;&gt; print s.startswith("Mundo")<br />
False<br />
</CODELINE></p>
<p><strong>int find(sub [,start[,end]]):</strong> retorna la posición numérica de la primera ocurrencia de una cadena dentro de otra.</p>
<p><CODELINE>&gt;&gt;&gt; print s.find("o")<br />
1<br />
</CODELINE></p>
<p><strong>int rfind(sub [,start[,end]]):</strong> similar a find, pero en vez de retornar la posición de la primera ocurrencia, lo hace de la última.</p>
<p><CODELINE>&gt;&gt;&gt; print s.rfind("o")<br />
9<br />
</CODELINE></p>
<p><strong>string lower():</strong> retorna la cadena original en letras minúsculas.</p>
<p><CODELINE>&gt;&gt; print s.lower()<br />
hola mundo<br />
</CODELINE></p>
<p><strong>string upper():</strong> retorna la cadena original en letras mayúsculas.</p>
<p><CODELINE>&gt;&gt;&gt; print s.upper()<br />
HOLA MUNDO<br />
</CODELINE></p>
<p><strong>string replace(old, new [,count]):</strong> reemplaza todas o un número dado de ocurrencias de una cadena dentro de otra.</p>
<p><CODELINE>&gt;&gt;&gt; print s.replace("o","O")<br />
HOla MundO<br />
&gt;&gt;&gt; print s.replace("o","O",1)<br />
HOla Mundo<br />
</CODELINE></p>
<p><strong>string strip([chars]):</strong> retorna una cadena eliminando al inicio y el fin de la misma un caracter dado. Si no se indica caracter utiliza como predeterminado el espacio en blanco.</p>
<p><CODELINE>&gt;&gt;&gt; print s.strip()<br />
Hola Mundo<br />
&gt;&gt;&gt; print s.strip("H")<br />
ola Mundo<br />
&gt;&gt;&gt; print s.strip("o")<br />
Hola Mund<br />
</CODELINE></p>
<p><strong>array split([sep [,maxsplit]]):</strong> divide una cadena en un array de cadenas dado un separador. Si no se indica separador utiliza como predeterminado el espacio en blanco. Opcionalmente, se puede especificar el número máximo de divisiones.</p>
<p><CODELINE>&gt;&gt;&gt; a = ['abc','def','ghi']<br />
&gt;&gt;&gt; t = "|"<br />
&gt;&gt;&gt; print t.join(a)<br />
abc|def|ghi<br />
</CODELINE></p>
<p><strong>string join(array):</strong> combina los elementos de un array de cadenas con otra cadena.</p>
<p><CODELINE>&gt;&gt;&gt; s.split()<br />
['Hola', 'Mundo']<br />
&gt;&gt;&gt; s.split("o")<br />
['H', 'la Mund', '']<br />
</CODELINE></p>
<p>Vía: <a href="http://www.astro.ufl.edu/~warner/prog/python.html" target="_blank">Python Basics</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/08/24/strings-functions-en-python/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Jython 2.5a1</title>
		<link>http://luauf.com/2008/07/20/jython-25a1/</link>
		<comments>http://luauf.com/2008/07/20/jython-25a1/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 01:33:55 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Phyton]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=536</guid>
		<description><![CDATA[Para los que no lo sabían, como es mi caso, Jython es una implementación de Python escrita 100% en Java e integrada como una sola pieza en la plataforma Java. Esto así permite ejecutar Python en cualquier plataforma Java. Este martes el equipo de desarrollo de Jython anunció que había liberado la versión 2.5.a1 del [...]]]></description>
			<content:encoded><![CDATA[<p>Para los que no lo sabían, como es mi caso, <a href="http://jython.org/Project/index.html" target="_blank">Jython </a>es una implementación de Python escrita 100% en Java e integrada como una sola pieza en la plataforma Java. Esto así permite ejecutar Python en cualquier plataforma Java.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-537" title="jython" src="http://luauf.com/wp-content/uploads/2008/07/jython.png" alt="" width="100" height="65" /></p>
<p>Este martes el equipo de desarrollo de Jython anunció que había liberado la versión 2.5.a1 del proyecto, se trata de una versión alpha no recomendada para ambientes en producción.<br />
Se trata de un salto bastante grande desde la última versión estable (que era compatible con Python 2.2). Además, aunque por aún se trate de una versión alpha, lleva a esta implementación de Python sobre Java a la par con la implementación oficial.</p>
<p><span id="more-536"></span></p>
<p>¿Acaso llegará el día en que Java sea un plataforma que corra Python o Ruby y que por otro lado programarás en NetBeans o en Eclipse, como si se tratara de Java, incluyendo el diseño visual de la interfaz gráfica de usuario y el debugging?</p>
<p>Vía: <a href="http://www.javahispano.org/contenidos/es/jython_2_5_alpha/?utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" target="_blank">javaHispano</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/07/20/jython-25a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java y Python</title>
		<link>http://luauf.com/2008/05/15/java-y-python/</link>
		<comments>http://luauf.com/2008/05/15/java-y-python/#comments</comments>
		<pubDate>Fri, 16 May 2008 01:07:48 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=284</guid>
		<description><![CDATA[Un poco de humor con una comparación entre hombres y mujeres, más bien, entre Python y Java. Vía: LinuxHispano]]></description>
			<content:encoded><![CDATA[<p>Un poco de humor con una comparación entre hombres y mujeres, más bien, entre Python y Java.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/javapython.png"><img class="size-medium wp-image-285" title="javapython" src="http://luauf.com/wp-content/uploads/2008/05/javapython-300x109.png" alt="" width="300" height="109" /></a></p>
<p>Vía: <a href="http://www.linuxhispano.net/tira/" target="_blank">LinuxHispano</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/05/15/java-y-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tamaño de un esquema MySQL con Python</title>
		<link>http://luauf.com/2008/04/29/tamano-de-un-esquema-mysql-con-python/</link>
		<comments>http://luauf.com/2008/04/29/tamano-de-un-esquema-mysql-con-python/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 01:40:39 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=217</guid>
		<description><![CDATA[Una forma muy elemental, pero muy práctica, de calcular el tamaño de una base de datos MySQL es haciendo la suma de los tamaños de los espacios de datos e índices de cada tabla, a partir del resultado de un SHOW TABLE STATUS. El código para hacer dicho cálculo es realmente sencillo: """Calculo del tamanio [...]]]></description>
			<content:encoded><![CDATA[<p>Una forma muy elemental, pero muy práctica, de calcular el tamaño de una base de datos MySQL es haciendo la suma de los tamaños de los espacios de datos e índices de cada tabla, a partir del resultado de un SHOW TABLE STATUS.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/04/showtablestatus.jpg"><img class="aligncenter size-medium wp-image-218" title="showtablestatus" src="http://luauf.com/wp-content/uploads/2008/04/showtablestatus-300x120.jpg" alt="" width="300" height="120" /></a></p>
<p><span id="more-217"></span></p>
<p>El código para hacer dicho cálculo es realmente sencillo:</p>
<p><code>
<div class="syntax_hilite">
<div id="python-12">
<div class="python"><span style="color: #483d8b;">""</span><span style="color: #483d8b;">"Calculo del tamanio total aproximado de un esquema de base de datos de MySQL"</span><span style="color: #483d8b;">""</span></p>
<p><span style="color: #ff7700;font-weight:bold;">import</span> MySQLdb<br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">getpass</span></p>
<p><span style="color: #ff7700;font-weight:bold;">def</span> main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; db_host = <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Host.......: '</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; schema_name = <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Esquema....: '</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; user_name = <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Usuario....: '</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; password = <span style="color: #dc143c;">getpass</span>.<span style="color: #dc143c;">getpass</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Pass.......: '</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; db_conn = MySQLdb.<span style="color: black;">connect</span><span style="color: black;">&#40;</span>host=db_host, <span style="color: #dc143c;">user</span>=user_name,passwd=password, db=schema_name<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; db_cursor = db_conn.<span style="color: black;">cursor</span><span style="color: black;">&#40;</span>MySQLdb.<span style="color: black;">cursors</span>.<span style="color: black;">DictCursor</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; db_cursor.<span style="color: black;">execute</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'show table status'</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; rows = db_cursor.<span style="color: black;">fetchall</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; total_size = <span style="color: #ff4500;">0</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> row <span style="color: #ff7700;font-weight:bold;">in</span> rows:<br />
&nbsp; &nbsp; &nbsp; &nbsp; data_length = row<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Data_length'</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> data_length <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #008000;">None</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data_length = <span style="color: #ff4500;">0</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; index_length = row<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Index_length'</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> index_length <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #008000;">None</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; index_length = <span style="color: #ff4500;">0</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; total_size = total_size + data_length + index_length<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'------------------------'</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'Tamanio Total: %s KB.'</span> % <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>total_size / <span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; db_conn.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></p>
<p>
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">'__main__'</span>:<br />
&nbsp; &nbsp; main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div>
</div>
</div>
<p>
</code></p>
<p>Vía: <a href="http://programmingpractices.blogspot.com/2007/08/python-calculate-size-of-mysql-schema.html" target="_blank">Programming Practices</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/04/29/tamano-de-un-esquema-mysql-con-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conectar Python con MySQL</title>
		<link>http://luauf.com/2008/04/24/conectar-python-con-mysql/</link>
		<comments>http://luauf.com/2008/04/24/conectar-python-con-mysql/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 02:10:23 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=189</guid>
		<description><![CDATA[Para conectarnos a MySQL desde Python necesitamos descargar la librería mysql-python. Luego, desde el Interprete Interactivo, o bien desde el script .py, ejecutar import MySQLdb para poder hacer uso de las funciones de la librería. Veremos un pequeño ejemplo, para poder mostrar los datos de una tabla: import MySQLdb db=MySQLdb.connect&#40;host='hostname',user='user',passwd='pass',db='mysql'&#41; cursor=db.cursor&#40;&#41; sql='SELECT host,user,password FROM user;' [...]]]></description>
			<content:encoded><![CDATA[<p>Para conectarnos a MySQL desde Python necesitamos descargar la librería <a href="http://sourceforge.net/project/showfiles.php?group_id=22307" target="_blank">mysql-python</a>. </p>
<p>Luego, desde el Interprete Interactivo, o bien desde el script .py, ejecutar <b>import MySQLdb</b> para poder hacer uso de las funciones de la librería.</p>
<p><span id="more-189"></span><br />
Veremos un pequeño ejemplo, para poder mostrar los datos de una tabla:<br />
<code></p>
<div class="syntax_hilite">
<div id="python-14">
<div class="python"><span style="color: #ff7700;font-weight:bold;">import</span> MySQLdb<br />
db=MySQLdb.<span style="color: black;">connect</span><span style="color: black;">&#40;</span>host=<span style="color: #483d8b;">'hostname'</span>,<span style="color: #dc143c;">user</span>=<span style="color: #483d8b;">'user'</span>,passwd=<span style="color: #483d8b;">'pass'</span>,db=<span style="color: #483d8b;">'mysql'</span><span style="color: black;">&#41;</span><br />
cursor=db.<span style="color: black;">cursor</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
sql=<span style="color: #483d8b;">'SELECT host,user,password FROM user;'</span><br />
cursor.<span style="color: black;">execute</span><span style="color: black;">&#40;</span>sql<span style="color: black;">&#41;</span><br />
resultado=cursor.<span style="color: black;">fetchall</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">for</span> registro <span style="color: #ff7700;font-weight:bold;">in</span> resultado:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> registro<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span> , <span style="color: #483d8b;">'|'</span> , registro<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span></div>
</div>
</div>
<p>
</code></p>
<p>Como verán, es muy sencilo <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Vía: <a href="http://cornejo.wordpress.com/2006/03/24/python-con-mysql/" target="_blank">Gabriel Felipe Cornejo Salas -gfcs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/04/24/conectar-python-con-mysql/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Servidor y Cliente TCP en Python</title>
		<link>http://luauf.com/2008/04/14/servervidor-y-cliente-tcp-en-python/</link>
		<comments>http://luauf.com/2008/04/14/servervidor-y-cliente-tcp-en-python/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 03:42:46 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[sockets]]></category>
		<category><![CDATA[TCP]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=136</guid>
		<description><![CDATA[Vía mundogeek.net, llega otro excelente tutorial, esta vez acerca de Sockets en Python. Mi aporte, un resumen del mismo, conformado de comentarios sobre los scripts de ejemplo de Servidor y Cliente: #+----------------------------------+ #&#124; Server TCP/IP&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#124; #+----------------------------------+ import socket #Creo el objeto socket s = socket.socket&#40;&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>Vía <a href="http://mundogeek.net/" target="_blank">mundogeek.net</a>, llega otro excelente tutorial, esta vez acerca de <a href="http://mundogeek.net/archivos/2008/04/12/sockets-en-python/" target="_blank">Sockets en Python</a>.</p>
<p>Mi aporte, un resumen del mismo, conformado de comentarios sobre los scripts de ejemplo de Servidor y Cliente:</p>
<p><span id="more-136"></span></p>
<div class="syntax_hilite">
<div id="python-17">
<div class="python"><span style="color: #808080; font-style: italic;">#+----------------------------------+</span><br />
<span style="color: #808080; font-style: italic;">#| Server TCP/IP&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |</span><br />
<span style="color: #808080; font-style: italic;">#+----------------------------------+</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">socket</span></p>
<p><span style="color: #808080; font-style: italic;">#Creo el objeto socket</span><br />
s = <span style="color: #dc143c;">socket</span>.<span style="color: #dc143c;">socket</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></p>
<p><span style="color: #808080; font-style: italic;">#Invoco al metodo bind, pasando como parametro una tupla con IP y puerto</span><br />
s.<span style="color: black;">bind</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">"localhost"</span>, <span style="color: #ff4500;">9999</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></p>
<p><span style="color: #808080; font-style: italic;">#Invoco el metodo listen para escuchar conexiones con el numero maximo de conexiones como parametro</span><br />
s.<span style="color: black;">listen</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span></p>
<p><span style="color: #808080; font-style: italic;">#El metodo accept bloquea la ejecucion a la espera de conexiones</span><br />
<span style="color: #808080; font-style: italic;">#accept devuelve un objeto socket y una tupla Ip y puerto</span><br />
sc, addr = s.<span style="color: black;">accept</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"Recibo conexion de "</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>addr<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">":"</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>addr<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span></p>
<p><span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #008000;">True</span>:</p>
<p>&nbsp; <span style="color: #808080; font-style: italic;">#invoco recv sobre el socket cliente, para recibir un maximo (segun parametro) de 1024 bytes</span><br />
&nbsp; recibido = sc.<span style="color: black;">recv</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span><br />
&nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> recibido == <span style="color: #483d8b;">"by"</span>:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">break</span><br />
&nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"Recibido:"</span>, recibido</p>
<p>&nbsp; <span style="color: #808080; font-style: italic;">#Envio la respuesta al socket cliente</span><br />
&nbsp; sc.<span style="color: black;">send</span><span style="color: black;">&#40;</span>recibido<span style="color: black;">&#41;</span></p>
<p><span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"adios"</span></p>
<p><span style="color: #808080; font-style: italic;">#cierro sockets cliente y servidor</span><br />
sc.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
s.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div>
</div>
</div>
<p></p>
<div class="syntax_hilite">
<div id="python-18">
<div class="python"><span style="color: #808080; font-style: italic;">#+----------------------------------+</span><br />
<span style="color: #808080; font-style: italic;">#| Client TCP/IP&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |</span><br />
<span style="color: #808080; font-style: italic;">#+----------------------------------+</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">socket</span></p>
<p>s = <span style="color: #dc143c;">socket</span>.<span style="color: #dc143c;">socket</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></p>
<p><span style="color: #808080; font-style: italic;">#invoco el metodo connect del socket pasando como parametro la tupla IP , puerto</span><br />
s.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">"localhost"</span>, <span style="color: #ff4500;">9999</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></p>
<p><span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #008000;">True</span>:<br />
&nbsp; mensaje = <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">"Mensaje a enviar: "</span><span style="color: black;">&#41;</span></p>
<p>&nbsp; <span style="color: #808080; font-style: italic;">#invoco el metodo send pasando como parametro el string ingresado por el usuario</span><br />
&nbsp; s.<span style="color: black;">send</span><span style="color: black;">&#40;</span>mensaje<span style="color: black;">&#41;</span><br />
&nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> mensaje == <span style="color: #483d8b;">"by"</span>:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">break</span></p>
<p><span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">"adios"</span></p>
<p><span style="color: #808080; font-style: italic;">#cierro socket</span><br />
s.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div>
</div>
</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/04/14/servervidor-y-cliente-tcp-en-python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

