<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Vinícius Souza () &#187; Python</title>
	<atom:link href="http://vsouza.wordpress.com/category/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://vsouza.wordpress.com</link>
	<description>... Nerdisses em geral ...</description>
	<lastBuildDate>Sat, 21 Jun 2008 20:09:42 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='vsouza.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/59ee686b5c907e371b25ac449db50381?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Vinícius Souza () &#187; Python</title>
		<link>http://vsouza.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vsouza.wordpress.com/osd.xml" title="Vinícius Souza ()" />
		<item>
		<title>Quem disse que Python não tem autocomplete?</title>
		<link>http://vsouza.wordpress.com/2008/06/21/quem-disse-que-python-nao-tem-autocomplete/</link>
		<comments>http://vsouza.wordpress.com/2008/06/21/quem-disse-que-python-nao-tem-autocomplete/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 20:09:42 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[auto completar]]></category>
		<category><![CDATA[autocomplete]]></category>

		<guid isPermaLink="false">http://vsouza.wordpress.com/?p=22</guid>
		<description><![CDATA[Eiiiiita!
Isso aqui virou um blog só sobre Python mesmo&#8230; No próximo post vou tentar mudar de assunto  
Mas então vamos lá!
Essa dica é pra quem acha que não existe autocomplete em Python ou pelo menos fora de algum bom editor&#8230; Quem gosta de brincar no shell e ficar testando códigos pequenos, essa pode ser [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vsouza.wordpress.com&blog=3586464&post=22&subd=vsouza&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Eiiiiita!<br />
Isso aqui virou um blog só sobre Python mesmo&#8230; No próximo post vou tentar mudar de assunto <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Mas então vamos lá!<br />
Essa dica é pra quem acha que não existe autocomplete em Python ou pelo menos fora de algum bom editor&#8230; Quem gosta de brincar no shell e ficar testando códigos pequenos, essa pode ser boa!<br />
Abra o shell, interpretador e:<br />
<code><br />
import readline<br />
import rlcompleter<br />
readline.parse_and_bind('tab: complete')<br />
</code></p>
<p>&#8220;Voyalá&#8221;!</p>
<p>Agora o seu TAB tem super poderes!</p>
<p>Até a próxima!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vsouza.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vsouza.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vsouza.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vsouza.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vsouza.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vsouza.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vsouza.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vsouza.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vsouza.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vsouza.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vsouza.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vsouza.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vsouza.wordpress.com&blog=3586464&post=22&subd=vsouza&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vsouza.wordpress.com/2008/06/21/quem-disse-que-python-nao-tem-autocomplete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e02b05b2048cc2f6fbfd6aa08d9fedb7?s=96&#38;d=identicon" medium="image">
			<media:title type="html">vsouza</media:title>
		</media:content>
	</item>
		<item>
		<title>Gracinhas do Python</title>
		<link>http://vsouza.wordpress.com/2008/05/25/gracinhas-do-python/</link>
		<comments>http://vsouza.wordpress.com/2008/05/25/gracinhas-do-python/#comments</comments>
		<pubDate>Sun, 25 May 2008 18:31:27 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://vsouza.wordpress.com/?p=21</guid>
		<description><![CDATA[Eu já havia lido o Zen of Python em algumas páginas na internet, mas não imaginava que ele está presente no próprio interpretador!
Se você ainda não conhece, digite após chamar o interpretador:
&#62;&#62;&#62; import this
Traduzindo o que foi retornado:
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Plano é [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vsouza.wordpress.com&blog=3586464&post=21&subd=vsouza&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Eu já havia lido o Zen of Python em algumas páginas na internet, mas não imaginava que ele está presente no próprio interpretador!<br />
Se você ainda não conhece, digite após chamar o interpretador:</p>
<p><code>&gt;&gt;&gt; import this</code></p>
<p>Traduzindo o que foi retornado:</p>
<p><em>Bonito é melhor que feio.<br />
Explícito é melhor que implícito.<br />
Simples é melhor que complexo.<br />
Complexo é melhor que complicado.<br />
Plano é melhor que aglomerado.<br />
Esparso é melhor que denso.<br />
Legibilidade faz diferença.<br />
Casos especiais não são especiais o bastante para quebrar as regras.<br />
Embora a praticidade vença a pureza.<br />
Erros nunca devem passar silenciosamente.<br />
A menos que sejam explicitamente silenciados.<br />
Diante da ambigüidade, recuse a tentação de adivinhar.<br />
Deve haver um &#8212; e preferencialmente só um &#8212; modo óbvio para fazer algo.<br />
Embora esse modo possa não ser óbvio à primeira vista a menos que você seja holandês.<br />
Agora é melhor que nunca.<br />
Embora nunca freqüentemente seja melhor que *exatamente* agora.<br />
Se a implementação é difícil de explicar, é uma má idéia.<br />
Se a implementação é fácil de explicar, pode ser uma boa idéia.<br />
Namespaces são uma grande idéia &#8212; vamos fazer mais dessas!</em></p>
<p>E para quem ainda tem alguma esperança da linguagem começar a utilizar { chaves } no futuro, tente:<br />
<code>&gt;&gt;&gt; from __future__ import braces<br />
File "&lt;stdin&gt;", line 1<br />
SyntaxError: not a chance</code></p>
<p>Se você sabe de mais alguma gracinha, poste nos comentários!!!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vsouza.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vsouza.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vsouza.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vsouza.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vsouza.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vsouza.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vsouza.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vsouza.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vsouza.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vsouza.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vsouza.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vsouza.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vsouza.wordpress.com&blog=3586464&post=21&subd=vsouza&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vsouza.wordpress.com/2008/05/25/gracinhas-do-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e02b05b2048cc2f6fbfd6aa08d9fedb7?s=96&#38;d=identicon" medium="image">
			<media:title type="html">vsouza</media:title>
		</media:content>
	</item>
		<item>
		<title>Diferenças no import em Python</title>
		<link>http://vsouza.wordpress.com/2008/05/09/import_em_python/</link>
		<comments>http://vsouza.wordpress.com/2008/05/09/import_em_python/#comments</comments>
		<pubDate>Fri, 09 May 2008 02:53:54 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[import]]></category>

		<guid isPermaLink="false">http://vsouza.wordpress.com/?p=20</guid>
		<description><![CDATA[Quero explicar algo que gostaria de ter ouvido na resposta do professor ao aluno (feita na história do post anterior), que é a diferença entre:
import módulo
e
from módulo import método/atributo/*
Antes vou tentar exemplificar!
Se fizermos:
import string
a = 'teste'
upper(a)
irá nos retornar um erro informando que o método upper() não existe, para que isso funcione devemos fazer:
string.upper(a)

ou seja,
módulo.método
Para que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vsouza.wordpress.com&blog=3586464&post=20&subd=vsouza&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Quero explicar algo que gostaria de ter ouvido na resposta do professor ao aluno (feita na história do post anterior), que é a diferença entre:<br />
<code>import módulo</code><br />
e<br />
<code>from módulo import método/atributo/*</code></p>
<p>Antes vou tentar exemplificar!<br />
Se fizermos:<br />
<code>import string<br />
a = 'teste'<br />
upper(a)</code><br />
irá nos retornar um erro informando que o método<em> <strong>upper() </strong></em>não existe, para que isso funcione devemos fazer:</p>
<p><strong>string.upper(a)</strong><em><br />
</em></p>
<p>ou seja,</p>
<p><strong>módulo.método</strong></p>
<p>Para que o primeiro código funcione, substituímos<strong> import string</strong> por <strong>from string import upper </strong>ou <strong>from string import *</strong></p>
<p>Explicando teoricamente, ao fazer <strong>from módulo import método/atributo/*</strong>, os atributos e métodos dos tipos de módulos importados são importados diretamente para dentro do namespace local, ficando disponíveis diretamente, sem qualificação por nome do módulo. Enquanto da outra forma é necessário qualificar o módulo antes do método/atributo a ser utilizado.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vsouza.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vsouza.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vsouza.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vsouza.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vsouza.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vsouza.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vsouza.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vsouza.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vsouza.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vsouza.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vsouza.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vsouza.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vsouza.wordpress.com&blog=3586464&post=20&subd=vsouza&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vsouza.wordpress.com/2008/05/09/import_em_python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e02b05b2048cc2f6fbfd6aa08d9fedb7?s=96&#38;d=identicon" medium="image">
			<media:title type="html">vsouza</media:title>
		</media:content>
	</item>
		<item>
		<title>Natural Language Toolkit (NLTK)</title>
		<link>http://vsouza.wordpress.com/2008/05/05/natural-language-toolkit-nltk/</link>
		<comments>http://vsouza.wordpress.com/2008/05/05/natural-language-toolkit-nltk/#comments</comments>
		<pubDate>Mon, 05 May 2008 04:51:57 +0000</pubDate>
		<dc:creator>Vinícius Souza</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[nltk]]></category>
		<category><![CDATA[pln]]></category>

		<guid isPermaLink="false">http://vsouza.wordpress.com/?p=18</guid>
		<description><![CDATA[Primeiramente vou explicar o que é o NLTK e como podemos instalá-lo no Linux.
Natural Language Toolkit (NLTK) é um conjunto de ferramentas open source escritas em Python e para Python, para a manipulação de linguagem natural.
Conta com uma boa documentação (http://nltk.sourceforge.net/index.php/Book) que auxilia o desenvolvimento, composto por leitores de corpus, tokenizers, stemmers, taggers, chunkers, parsers, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vsouza.wordpress.com&blog=3586464&post=18&subd=vsouza&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Primeiramente vou explicar o que é o NLTK e como podemos instalá-lo no Linux.<br />
Natural Language Toolkit (NLTK) é um conjunto de ferramentas open source escritas em Python e para Python, para a manipulação de linguagem natural.</p>
<p>Conta com uma boa documentação (<a title="http://nltk.sourceforge.net/index.php/Book" href="http://nltk.sourceforge.net/index.php/Book" target="_blank">http://nltk.sourceforge.net/index.php/Book</a>) que auxilia o desenvolvimento, composto por leitores de corpus, tokenizers, stemmers, taggers, chunkers, parsers, wordnet, mais de 30 conjuntos de dados anotados amplamente usados de PLN (+300Mb).</p>
<p>Quando a manipulação com strings começa a ser tornar trabalhosa utilizando apenas o módulo String do Python, é a hora do NLTK entrar em cena.</p>
<p><strong>INSTALAÇÃO</strong></p>
<p>A instalação é bem simples, ter o Python instalado é um requisito.</p>
<p>Faça o download do código fonte em: <a title="http://prdownloads.sourceforge.net/nltk/nltk-0.9.2.tar.gz" href="http://prdownloads.sourceforge.net/nltk/nltk-0.9.2.tar.gz" target="_blank">http://prdownloads.sourceforge.net/nltk/nltk-0.9.2.tar.gz</a></p>
<p>Descompacte:<br />
<code>$ tar -zxvf nltk-0.9.2.tar.gz</code></p>
<p>Entre na pasta:<br />
<code>$ cd nltk-0.9.2</code></p>
<p>Utilize o instalador:<br />
<code>$ sudo python setup.py install</code></p>
<p>Isso feito, agora é necessário realizar um download maior (75MB) com os dados do NLTK: <a title="http://prdownloads.sourceforge.net/nltk/nltk-data-0.9.2.zip" href="http://prdownloads.sourceforge.net/nltk/nltk-data-0.9.2.zip" target="_blank">http://prdownloads.sourceforge.net/nltk/nltk-data-0.9.2.zip</a></p>
<p>Enquanto o download não termina, você pode criar a seguinte pasta:<br />
<code>$ sudo mkdir /usr/share/nltk</code></p>
<p>Após o término e descompactação dos arquivos, mova a pasta descompactada:<br />
<code>$ sudo mv data /usr/share/nltk</code></p>
<p>Altere a permissão da pasta para que os dados possam ser utilizados:<br />
<code>$ sudo chmod -R g+r /usr/share/nltk/data</code></p>
<p style="text-align:center;"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
</strong></p>
<p style="text-align:center;"><strong>Pronto, instalação completa no Linux!</strong></p>
<p style="text-align:center;"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</strong></p>
<p>Para utilizá-la, você deve importar o módulo no Python:<br />
<code>$ python<br />
&gt;&gt;&gt;import nltk</code></p>
<p>Existe um corpus em português que pode ser utilizado da seguinte forma:<br />
<code>&gt;&gt;&gt;from nltk.corpus import floresta</code></p>
<p>Vamos coletar as palavras pertencentes a esse corpus:<br />
<code>&gt;&gt;&gt;palavras = floresta.words()</code></p>
<p>Temos 211.852 palavras:<br />
<code>&gt;&gt;&gt;len(palavras)</code></p>
<p>Por enquanto é só isso, pretendo em um próximo post apresentar alguma coisa interessante desse módulo.<br />
Como ainda não o estudei muito bem, não tenho muita coisa. Mas como terei de usá-lo em meu Trabalho de Conclusão de Curso (Investigação e Implementação De Um Sistema Gerador de Expressões Regulares A Partir De Um Conjunto De Expressões Em Linguagem Natural) provavelmente terei alguma coisa para mostrar em breve e quem sabe também não falo sobre o meu TCC.</p>
<p><strong>Referências:</strong><br />
<a title="http://nltk.sourceforge.net/" href="http://nltk.sourceforge.net/" target="_blank">http://nltk.sourceforge.net/</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vsouza.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vsouza.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vsouza.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vsouza.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vsouza.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vsouza.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vsouza.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vsouza.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vsouza.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vsouza.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vsouza.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vsouza.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vsouza.wordpress.com&blog=3586464&post=18&subd=vsouza&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vsouza.wordpress.com/2008/05/05/natural-language-toolkit-nltk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e02b05b2048cc2f6fbfd6aa08d9fedb7?s=96&#38;d=identicon" medium="image">
			<media:title type="html">vsouza</media:title>
		</media:content>
	</item>
	</channel>
</rss>